laravel的db在哪

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

Laravel框架中的数据库配置

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

Laravel中的数据库:驱动使用及调用方式

'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、pgsql、sqlsrv。在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作为一款优秀的PHP框架,拥有非常方便的数据库调用方式。不过,很多初学者可能对Laravel中数据库调用方式不甚了解。本文将介绍Laravel中数据库驱动的使用方法,以及常见的查询调用方式,希望对大家有所帮助。
一、Laravel中的数据库驱动
Laravel支持多种数据库驱动程序,包括MySQL、PostgreSQL、SQLite、SQL Server以及Oracle等。在Laravel 5.1版本之后,框架更是默认选择了PHP Data Object(PDO)驱动程序作为数据库的默认驱动程序。根据个人项目的实际需要可以进行切换,只需要更改Laravel配置文件中的数据库相关设置即可。具体的数据库设置方法可以在Laravel官方文档中查找。
二、常见的查询调用方式
Laravel中封装了丰富的数据库查询方法,我们可以使用PHP函数调用链的形式来构建数据库查询语句。例如,Laravel提供了查询构建器,用于快速构建SQL查询语句。整个查询构建器的核心就是FLuent查询,这个查询器可以帮助我们构建完整的SQL语句。
在Laravel中,我们可以使用以下几种查询方式:
1、DB门面
我们可以使用DB门面来进行数据库查询,该门面提供了多个静态函数,可以直接对数据库进行操作,例如:
$users = DB::select('select * from users where id = ?', [1]);
2、Eloquent ORM
Laravel中的Eloquent ORM是一个基于ActiveRecord模式的数据库模型,通过操作模型实例对数据库进行查询以及对应的增、删、改操作。比如下面这个例子:
$user = User::find(1);
3、查询构建器
Laravel提供了强大的查询构建器,可以帮助我们更方便地构建SQL查询语句。例如:
$users = DB::table('users')
->select('name', 'email')
->where('id', '=', 1)
->get();
总结
Laravel中的数据库驱动方式非常的灵活,不仅支持多种数据库的选择,同时还提供了极为丰富的数据库操作方式,让我们能够方便高效地完成各种数据库操作。希望本文能够帮助到大家,欢迎大家多多交流。