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