Laravel-Eloquet模型数据来自两个表



我刚刚开始使用Laravel,我来自一个使用现有数据库的不同系统。在这个系统中有两个用户表,一个带有CMS的库存表和一个自定义表。

我想创建一个Eloquent模型,将两个表中的数据检索到一个模型中。我知道我可以用以下方法来建立关系。

$this->hasOne('AppSecondUser', 'id', 'id);

但这会导致两个sql查询,并且我希望在返回模型之前,在一个join语句中连接两个表的结果。我该怎么做?

这可能比您预期的要复杂一些。

首先,您必须使用DB facade来连接两个集合(数组),然后使用collection的make方法从这些数组中重新创建Eloquent集合。

有关收集类的更多信息,请点击此处

一种更简单的方法可能是使用标准的laravel关系和类似Model::user->with('relation')->get的用户来加入它们。

但这仍然会创建2个查询(仍然相对较快)。

最新更新