首頁 >php框架 >Laravel >laravel的db在哪

laravel的db在哪

王林
王林原創
2023-05-26 12:54:39577瀏覽

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn