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、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框架中db的相关内容,包括数据库的配置、db接口和db实现等。在使用laravel进行开发时,我们可以根据需求灵活的配置和使用db,来完成各种复杂的数据库操作。
以上就是laravel的db在哪的详细内容。
