【发布时间】:2019-08-29 12:05:58
【问题描述】:
我需要从关系中的不同数据库中获取数据,如下所示:
Table1::development(1)->with([ 'column' => function($q) {
$q->connection('live');
}])->first()
development 是我的 Table1 模型上的本地范围,它只是执行 where 子句。
我在上面的代码中遇到了一个我无法弄清楚的错误:
错误:BadMethodCallException:调用 /var/www/vendor/illuminate/database/Query/Builder.php:2445 中未定义的方法 Illuminate\Database\Query\Builder::connection()
谁能帮帮我?
【问题讨论】:
-
我不认为你可以使用跨数据库连接的关系,因为 Laravel 在内部创建连接等。我建议在另一个数据库上获取数据,然后用它来过滤另一个数据库。
-
@BagusTesa 如果我更改关系模型上的连接,这可以正常工作,但是此模型在其他地方使用,因此我无法全局更改连接。