我正在使用 eloquent 方法has()
仅检索父级存在且未删除且运行良好的行。
但这在将“用户”作为参数传递时不起作用,因为用户来自不同的连接。
我已经在两个模型中设置了连接,但仍然收到用户未找到表的错误。请问我该如何检查来自另一个数据库连接的父级是否存在?例如。
我的课程模型
class Course extends Model
{
protected $connection= "mysql";
public function user(){
return $this->belongsTo(User::class);
}
}
我的用户模型来自另一个数据库连接“帐户”。
class User extends Model
{
protected $connection= "accounts";
public function courses(){
return $this->hasMany(Course::class);
}
}
在我的 CourseController 中,我想这样做。
class CoursesController extends Controller
{
public function index(Request $request){
$term = $request->get("query","");
return Course::has("user")->where("name","like","%$term%")->paginate(12);
}
}
如果courses
表和users
表在同一个数据库中,这将起作用,但因为没有得到表或视图未找到 SQL 错误。
如果有一种方法可以在方法中传递连接名称,has
那就太好了,但该has
方法只需要一个参数,即模型名称。
我真的需要让这个工作,我的用户存储在另一个数据库中。