我刚刚开始使用Laravel,我来自一个使用现有数据库的不同系统。在这个系统中有两个用户表,一个带有CMS的库存表和一个自定义表。
我想创建一个Eloquent模型,将两个表中的数据检索到一个模型中。我知道我可以用以下方法来建立关系。
$this->hasOne('AppSecondUser', 'id', 'id);
但这会导致两个sql查询,并且我希望在返回模型之前,在一个join
语句中连接两个表的结果。我该怎么做?
这可能比您预期的要复杂一些。
首先,您必须使用DB
facade来连接两个集合(数组),然后使用collection的make
方法从这些数组中重新创建Eloquent集合。
有关收集类的更多信息,请点击此处
一种更简单的方法可能是使用标准的laravel关系和类似Model::user->with('relation')->get
的用户来加入它们。
但这仍然会创建2个查询(仍然相对较快)。