Php Laravel雄辩的ORM多对多关系不';不能与其他表连接吗?
我有这些桌子Php Laravel雄辩的ORM多对多关系不';不能与其他表连接吗?,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我有这些桌子 table 1 => shops ------------- id | name table 2 => menus ------- id | name | category_id table 3 (pivot table) => menu_shop --------- id
table 1 => shops
-------------
id | name
table 2 => menus
-------
id | name | category_id
table 3 (pivot table) => menu_shop
---------
id | menu_id | shop_id
table 4 => categories
----------
id | name
我想得到菜单和商店与特定的类别名称,然后我的查询是在这里
$menus=Menu::with('shops')->leftJoin('categories','menus.category_id','=','categories.id'))
->其中('categories.name'、'='、'Chinese')
->取(6)->get()
然后我显示在刀刃上
@foreach($menus as $chinesemenu)
<div class="col-md-6 col-sm-12">
<div class="menu">
<img src="{{ '/images/menus/'. $chinesemenu->image }}" class="menuimg">
<p class="menutitle">{{$chinesemenu->title}} - <span class="menuprice">{{$chinesemenu->price}} Ks</span>
<a data-id="{{$chinesemenu->id}}" data-name="{{$chinesemenu->title}}" data-toggle="modal" data-target="#modalEdit" class="homeorder" ><i class="mdi mdi-cart"></i> </a>
</p>
<p class='menudescription'>
{{$chinesemenu->description}}
</p>
<span class="menushop">
@foreach($chinesemenu->shops as $shop)
{{$shop->name}}
@endforeach
</span>
</div>
</div>
@endforeach
我得到了正确的输出。但我必须加入分类表。救命啊 像这样进行查询
$menus = Menu::with('shops', 'category')->whereHas('category', function ($query) {
return $query->where('name', '=', 'Chinese');
})->take(6)->get();
你们需要菜单中的关系
public function category()
{
return $this->belongsTo(Category::class)
}
现在,您应该只能看到名为“Chinese”类别的菜单:)
很酷,没问题。
public function category()
{
return $this->belongsTo(Category::class)
}