當我創(chuàng)建一個CRUD控制器時,這是默認情況下創(chuàng)建的顯示路線:/** * Display the specified resource. * * @param \App\Team $team * @return \Illuminate\Http\Response */public function show(Team $team){ //}$team是此處的對象,是的實例Team。如果執(zhí)行此操作,則將正確的對象傳遞給刀片:public function show(Team $team){ return view('admin.teams.show', ['team' => $team]);}但是,Team與另一個名為的模型具有多對多關(guān)系Player,并且這種關(guān)系從Team側(cè)面定義為:public function players() { return $this->belongsToMany(Player::class);}在我的show方法中,我想將$ team及其相關(guān)的玩家退還給我們。但是由于$ team已經(jīng)是一個對象,而不是查詢生成器,所以現(xiàn)在做這樣的事情為時已晚$team->with('players')那么,如何在這里找到相關(guān)玩家呢?我知道我可以做類似的事情:public function show(Team $team){ $team_extended = Team::where('id', $team['id'])->with('players')->first(); return view('admin.teams.show', ['team' => $team_extended]);}但是感覺就像在破解默認情況下應(yīng)該存在的功能。是否有內(nèi)置的Laravel方法可以做到這一點?還是我只是在發(fā)明熱水,并且應(yīng)該采用我在上面的解決方案中使用的方法?
Laravel顯示路線中的回程關(guān)系
慕運維8079593
2021-05-14 14:09:37