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)
}