使用自定义连接检索模型时,Laravel出错

问题描述 投票:0回答:2

我有一个Model Correo,它具有动态变化的自定义连接。

问题是,当我想从数据库中检索结果时,如下所示:Correo::on(session('conexion'))->get(),session('conexion')具有连接名称,出现以下错误:

在null上调用成员函数newCollection()

我可以使用这个获得结果:DB::connection(session('conexion'))->table('correos')->get(),但我需要Model的方法,前一个只返回一个通用的Collection。

谢谢!

laravel eloquent
2个回答
0
投票

您可以使用setConnection函数

$correo = new Correo;
$correo->setConnection('yourConnectionName');
$data = $correo->find(1);
dd($data);

所以基于会话(如果你没有那么多的远程连接)

if (session('xyz')) { 
$correo->setConnection('xyz');
} else {
$correo->setConnection('pqr');
}

`


0
投票

好吧,我解决了它,当我创建模型时,我编写了每个属性,然后创建了每个getter和setter,显然它不喜欢新的setConnection setter。我不知道为什么,但它阻止我使用它。

© www.soinside.com 2019 - 2024. All rights reserved.