【发布时间】:2018-12-25 05:37:34
【问题描述】:
我有以下数据库:
简单来说,用户有很多店铺,店铺有很多产品等等。 我需要在 Eloquent ORM 的帮助下进行这个查询:
SELECT * FROM tmp.shops
INNER JOIN
(SELECT * FROM tmp.products
WHERE tmp.products.shop_id IN
(SELECT id FROM shops where user_id = 1)) as nested_query
ON tmp.shops.id = nested_query.shop_id;
我需要获取用户店铺中每个产品的信息和店铺信息。
关于我的模型。这是与用户模型中的 Shop 的关系
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function shop()
{
return $this->hasMany('App\Shop');
}
这是 Shop 模型中的关系:
public function user()
{
return $this->belongsTo('App\User');
}
public function products()
{
return $this->hasMany('App\Product');
}
最后,产品型号:
public function shop()
{
return $this->belongsTo('App\Shop');
}
【问题讨论】: