电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

有的時候,我們在開發(fā)的過程中需要連接多個數(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配置,配置項是存儲在根目錄下的.env文件中的。

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

如下面所示:

我增加了一個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),
],
  
// 本地數(shù)據(jù)庫,存儲本地數(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ù)庫,將本地數(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();

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

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

標(biāo)簽: PHP
主站蜘蛛池模板: 艺术生文化课培训|艺术生文化课辅导冲刺-济南启迪学校 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 济南电缆桥架|山东桥架-济南航丰实业有限公司 | 南京和瑞包装有限公司 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 苏商学院官网 - 江苏地区唯一一家企业家自办的前瞻型、实操型商学院 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 「阿尔法设计官网」工业设计_产品设计_产品外观设计 深圳工业设计公司 | 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 德国GMN轴承,GMN角接触球轴承,GMN单向轴承,GMN油封,GMN非接触式密封 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 翰墨AI智能写作助手官网_人工智能问答在线AI写作免费一键生成 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 电梯装饰-北京万达中意电梯装饰有限公司 | 全自动变压器变比组别测试仪-手持式直流电阻测试仪-上海来扬电气 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 深圳成考网-深圳成人高考报名网 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 九爱图纸|机械CAD图纸下载交流中心| 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 |