微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

laravel的db在哪

在Laravel中,DB是指数据库,一般存放在MysqL、Postgresqlsqlite等关系型数据库中。那么,在Laravel框架中,DB在哪里呢?

Laravel框架中的数据库配置

在Laravel中,数据库配置文件位于/config/database.PHP,其认的配置如下:

'default' => env('DB_CONNECTION', 'MysqL'),

'connections' => [

'sqlite' => [
    'driver' => 'sqlite',
    'url' => env('DATABASE_URL'),
    'database' => env('DB_DATABASE', database_path('database.sqlite')),
    'prefix' => '',
    'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],

'MysqL' => [
    'driver' => 'MysqL',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
    'options' => extension_loaded('pdo_MysqL') ? array_filter([
        PDO::MysqL_ATTR_SSL_CA => env('MysqL_ATTR_SSL_CA'),
    ]) : [],
],

'pgsql' => [
    'driver' => 'pgsql',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '5432'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'prefix_indexes' => true,
    'schema' => 'public',
    'sslmode' => 'prefer',
],

'sqlsrv' => [
    'driver' => 'sqlsrv',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '1433'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'prefix_indexes' => true,
],

],

认配置中,default表示认的数据库链接类型是MysqL,connections下面的子数组定义了四种数据库链接方式:sqlite、MysqL、pgsqlsqlsrv。在Laravel中,我们可以根据自己的需求添加更多的数据库链接方式。

Laravel框架中的DB接口

Laravel框架中为我们提供了非常多的DB接口,其中最重要的DB接口是IlluminateDatabaseEloquentModel,它为我们提供了对数据库进行查询和操作的基本方法,如:all()、create()、update()、where()、orderBy()等。

在使用Laravel进行数据库操作时,我们需要先引入DB接口,通常的写法为:

use IlluminateDatabaseEloquentModel;

然后我们就可以对数据库进行操作,例如:

$user = User::find(1);
$user->name = 'new name';
$user->save();

上面的代码就是更新了ID为1的用户的姓名。

Laravel框架中的DB实现

Laravel框架中,DB的实现基于PDO(PHP Data Objects),PDO是PHP一个轻量级的数据库抽象层,用于封装不同数据库间的差异。PDO抽象掉了不同数据库之间语法上的差异,让我们能够使用相同的代码针对不同的数据库进行操作。

Laravel框架中使用DB时,其实也是通过PDO来对数据库进行操作。这里要说明的是,Laravel框架中使用的PDO并不是PHP自带的PDO,而是Laravel自己实现的PDO扩展,它对原生PDO做了一些拓展和封装,提供了更易用、更灵活的API。

以上就是Laravel框架中DB的相关内容包括数据库的配置、DB接口和DB实现等。在使用Laravel进行开发时,我们可以根据需求灵活的配置和使用DB,来完成各种复杂的数据库操作。

以上就是laravel的db在哪的详细内容,更多请关注编程之家其它相关文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。