【问题标题】:Laravel 5.3 DB Select with different databaseLaravel 5.3 DB Select 与不同的数据库
【发布时间】:2017-03-16 20:57:50
【问题描述】:

我在我的应用程序中定义了 3 个数据库(旧版不是我的设计!),我想使用 DB Select 来运行原始 SQL,而不是从主数据库。

告诉的语法是什么

 DB::select('SELECT....

使用特定的预定义连接?

【问题讨论】:

  • 您可以在配置文件中设置多个数据库并使用DB::connection('foo')->select(...);
  • 我已经这样做了,并将其中一个连接命名为“common”并添加了“protected $connection = 'common';”在模型的顶部,但它似乎总是想从默认数据库中进行选择。

标签: sql laravel-5


【解决方案1】:

$connection 声明似乎被忽略的原因很简单:使用查询构建器(DB 类),您实际上并没有使用 Eloquent ORM。如果你想使用查询生成器,你必须手动声明连接如果与默认不同,像这样......

DB::connection('connection-name')

请记住,Eloquent 模型是查询构建器的扩展。为了推进 Eloquent 模型(以及在您的 $connection 受保护属性的情况下),请使用 use 语句导入 Eloquent 模型

use App\YourModel;

并使用与查询构建器相同的方法构建查询。

到 Laravel 文档的有用链接:

Eloquent (check the "Database connection" section) /Database - Multiple database connections

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2016-07-18
    • 2019-06-30
    相关资源
    最近更新 更多