我们都知道使用 Eloquent with('relation')
函数不会执行 JOIN ,但它会进行另一次查询来获取关系。
有没有办法使用 JOIN 进行单个查询,以便我们可以减少MySQL查询?
答案 0 :(得分:1)
据我所知,在使用Eloquent对象时无法使用JOIN。这就是Eloquent的工作方式 - 它没有使用连接,它使用单独的查询来获取相关数据。因此,如果您想使用连接,您将无法使用Eloquent对象。
答案 1 :(得分:1)
您可以在数据库中创建 VIEW ,然后在您的应用中创建模型。 VIEW中的更新数据会在相关表格中自动更新。可能是一种解决方法。
答案 2 :(得分:0)
如果您想要进行左连接(使用->join()
进行简单的内连接),是这样的事情。
$query = DB::table('product');
$query->leftJoin('user', 'product.seller_id', '=','user.user_id');
return $query->get();
有关详细信息,请参阅查询构建器文档:http://laravel.com/docs/4.2/queries#joins