国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

PHP laravel實(shí)現(xiàn)配置使用多數(shù)據(jù)庫

瀏覽:203日期:2022-06-06 09:11:52

有的時(shí)候,我們在開發(fā)的過程中需要連接多個(gè)數(shù)據(jù)庫。

Laravel框架中早已為我們想到了這樣的需求。

配置很簡單。

在根目錄下的/config/database.php文件中配置:

Laravel中為我們提前預(yù)設(shè)了多種類型的數(shù)據(jù)庫連接

  "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,
],
  
    ],

默認(rèn)連接的是mysql配置,配置項(xiàng)是存儲在根目錄下的.env文件中的。

如果使用多數(shù)據(jù)連接,則只需要,根據(jù)你的數(shù)據(jù)庫類型,在配置你需要的數(shù)據(jù)庫連接就好了。

如下面所示:

我增加了一個(gè)mysql數(shù)據(jù)庫連接和oracle數(shù)據(jù)庫連接

"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),
],
  
// 本地?cái)?shù)據(jù)庫,存儲本地?cái)?shù)據(jù)
"mysql" => [
    "driver" => "mysql",
    "url" => env("DATABASE_URL"),
    "host" => env("DB_HOST", "xxxxx"),
    "port" => env("DB_PORT", "3306"),
    "database" => env("DB_DATABASE", xxxx),
    "username" => env("DB_USERNAME", xxxx),
    "password" => env("DB_PASSWORD", xxxxxxx"),
    "unix_socket" => env("DB_SOCKET", ""),
    "charset" => "utf8mb4",
    "collation" => "utf8mb4_unicode_ci",
    "prefix" => "",
    "prefix_indexes" => true,
    "strict" => false,
    "engine" => null,
    "options" => extension_loaded("pdo_mysql") ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env("MYSQL_ATTR_SSL_CA"),
    ]) : [],
],
  
// 線上數(shù)據(jù)庫,將本地?cái)?shù)據(jù),同步至線上數(shù)據(jù)
"mysql_base" => [
    "driver" => "mysql",
    "read" => [
"host" => env("DB_HOST_BASE", "xxxxx"),
    ],
    "write" => [
"host" => env("DB_HOST_BASE", "xxxxx")
    ],
    "port" => env("DB_PORT_BASE", xxxx),
    "database" => env("DB_DATABASE_BASE", xxxx),
    "username" => env("DB_USERNAME_BASE", xxxxxx),
    "password" => env("DB_PASSWORD_BASE", "xxxxx"),
    "unix_socket" => env("DB_SOCKET", ""),
    "charset" => "utf8mb4",
    "collation" => "utf8mb4_unicode_ci",
    "prefix" => "",
    "strict" => false,
    "engine" => null,
],
  
"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,
],
 // oracle 數(shù)據(jù)庫連接
"oracle" => [
    "driver" => "oracle",
    "host" => "210.30.64.37",
    "port" => xxx,
    "database" => "",
    "service_name" => xxxxx,
    "username" => xxx_xxxx,
    "password" => xxxx_xxxx,
    "charset" => "AL32UTF8",
    "prefix" => "",
]
  
    ],

我們在使用其余的數(shù)據(jù)庫連接,如下方所示:

1:使用原生sql

DB::connection("oracle")->select("SELECT * from  xxxxx WHERE XH = "{$personal_id}" AND XM = "{$name}"")

2:使用laravel封裝的數(shù)據(jù)庫方法:

$userinfo = DB::connection("mysql_base")->table("user")
->where("personal_id", "=", $data["personal_id"])
->where("name", "=", $data["name"])
->where("school_id", "=", $data["school_id"])
->select("id", "type", "school_id", "personal_id", "name", "email", "ilab_user", "ilab_pwd")
->first();

最后,還是強(qiáng)調(diào)一句,數(shù)據(jù)庫連接相關(guān)的用戶名,連接,密碼之類的,一般還是寫在.env文件中的,方便我們統(tǒng)一管理。

以上就是PHP laravel實(shí)現(xiàn)配置使用多數(shù)據(jù)庫的詳細(xì)內(nèi)容,更多關(guān)于PHP laravel配置多數(shù)據(jù)庫的資料請關(guān)注其它相關(guān)文章!

標(biāo)簽: PHP
主站蜘蛛池模板: 中文字幕日韩一区二区 | 92av在线 | 欧美日韩精品乱国产538 | 99爱视频免费高清在线观看 | 亚洲影院在线 | 国产网曝手机视频在线观看 | 一级欧美一级日韩 | 欧美另类激情 | 国产精品亚洲玖玖玖在线靠爱 | 综合 欧美 国产 视频二区 | 亚洲视频精品在线观看 | xx欧美老妇 | 美女张开大腿让男人捅 | 久久国产精品最新一区 | 亚洲欧美成人影院 | 国产91精品久久久久999 | 久久精品免看国产成 | 亚洲精品欧美精品 | 国产日韩欧美一区二区三区综合 | 性欧美videos 精品 | 久久久香蕉视频 | 中文字幕精品一区二区2021年 | 欧美真人毛片动作视频 | 亚洲欧美成人网 | 久久美女精品国产精品亚洲 | 久艹在线观看视频 | 中国性猛交xxxxx免费看 | 91pao强力打造免费高清 | 精品国产91在线网 | 久久99综合国产精品亚洲首页 | 国产手机在线视频 | 亚洲天堂男人网 | 成人久久18免费网 | 中文字幕一区在线播放 | 欧美一区二区视频三区 | 国产综合久久久久影院 | 波多野结衣3女同在线观看 波多野结衣aⅴ在线 | 夜色福利久久久久久777777 | 99久久国产免费 - 99久久国产免费 | 亚洲最大激情中文字幕 | 久久久久久综合一区中文字幕 |