下面的数据库
User : id,name,age
Shop : id,user_id,name
Address : id, shop_id, address
Shop Type : id, shop_id, type
[用户]有多个[商店],[商店]有多个分店,所以它有多[地址],[商店]也有多种类型,如酒,食品,小吃,饮料等等。
现在我希望获得所有地址和商店类型的用户商店。
在我使用的模型中 用户类
public function shop(){
return $this->hasMany('App\Shop');
}
商店类
public function address(){
return $this->hasMany('App\Address');
}
public function type(){
return $this->hasMany('App\ShopType');
}
我的控制
public function user($id)
{
$user = User::where("id",$id)->with('shop.address')->first();
if($user){
return response()->json(
[
'user' => $user,
],
200,
array(),
JSON_PRETTY_PRINT
);
}else{
return false;
}
上面的代码可以获取所有用户的商店和商店的地址 但我怎样才能得到商店的类型?
由于
答案 0 :(得分:2)
试试这个:
User::where('id', $id)->with('shop.address', 'shop.type')->first();
(最初评论)