在Laravel中,DB是指資料庫,一般存放在MySQL、PostgreSQL、SQLite等關係型資料庫中。那麼,在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、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中文網其他相關文章!