在laravel中,db是指数据库,一般存放在mysql、postgresql、sqlite等关系型数据库中。那么,在laravel框架中,db在哪里呢?
Laravel框架中的数据库配置
在Laravel中,数据库配置文件位于/config/database.php,其默认的配置如下:
default => env(DB_CONNECTION, mysql),
connections => [
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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在哪的详细内容,更多请关注php中文网其它相关文章!