私はlaravel greenhornです。まあ、おそらく私はそのプロジェクトで長らく主演しています。 私は次のような状況に陥っています:Laravel他のテーブルから多対多のデータを取得しています
私は企業のための "日記"を構築しています。私のデータベースのテーブルは以下の通りです。
私の目標は、同じ企業内のユーザーだけが、その企業に関連するレポートを見ることができるということです。だから私のreportControllerで私のインデックスメソッドに次の行があります:
$enterpriseId = Auth::user()->enterprise_id;
$enterpriseProjects = Enterprise::find($enterpriseId)->projects()->get();
$enterprises = Enterprise::find($enterpriseId);
foreach ($enterprises->projects as $key => $pivotTableProject) {
$reports = Report::where('project_id', $pivotTableProject->pivot->project_id)->get();
}
return view('reports.index')->with('reports', $reports);
期待どおり、私のデータベースから1つだけのエントリを取得します。同じエンタープライズのすべてを取得するにはどうすればよいですか?レポートを配列に入れた場合、私はこれを(ddで)得る:
array:2 [▼
0 => Collection {#250 ▼
#items: array:1 [▶]
}
1 => Collection {#239 ▼
#items: array:1 [▶]
}
]
しかし、私はそこに1つの配列とレポートを持つコレクションが必要です。 誰かが絶望的なラベール初心者を助けることができますか?
ありがとうございます。 Image of database part here
お返事ありがとうございます。私は今日それを試し、熱心な読み込みについて読む。私は '$ enterpriseProjects = Enterprise :: find($ enterpriseId) - > projects() - > get();'と一緒に行くことができると思っていました。私は報告書にそれを「接続する」必要があります。 –
私はそれがうまくいくと思う:) – HasilT