私はメニューと呼ばれるテーブルを持っています。私はその子メニューでメニューを取得したいですが、親メニューだけが検索されています。子メニューの結果は空の配列です。 私のテーブル構造は:id | parent_id |名。 多くの関係マイメニューモデル1は、次のとおりです。私はダンプsub_menusのDD($ sub_menus)を潜るとき、それは空の配列をLaravel 5の1対1リレーションシップを同じテーブルに作成するにはどうすればよいですか?
public function childMenus() {
return $this->hasMany(‘App\Menu’, ’parent_id’);
}
public function parentMenus() {
return $this->belongsTo(‘App\Menu’, ‘parent_id’);
}
My controller Method:
public function index()
{
$menu = new Menu;
$parent_menus = $menu->where('parent_id', NULL)->get();
$sub_menus = $menu->childMenus()->get();
return View('admin',compact('$parent_menus’, ‘sub_menus’);
}
返します。 誰か助けてください。ありがとうございます。
感謝を。実際には、私のDBには、子メニューを持つ親メニューがあります。私がdd($ parent_menus);結果を返しますが、子メニューの場合でも空の結果が得られます。 –
これは、子メニューを間違って読み込むためです。上の例のような親メニューオブジェクトを使ってそれらにアクセスする必要があります。ただ1つの変数にすべての子メニューを追加したい場合は、更新された答え –
を参照してください。助けてくれてありがとう。実際には親オブジェクトを通して子メニューを取得していませんでしたもう一度やり直してください。 –