30 |
laravelによるスキャフォールディング (8) |
DocController show()の修正
最後にshow()の修正です。前半がコントローラの修正、後半がビューの修正です。
まずコントローラの標準に生成されたコードは、
public function show($id)
{
$doc = $this->docRepository->find($id);
if (empty($doc)) {
Flash::error('Doc not found');
return redirect(route('docs.index'));
}
return view('docs.show')->with('doc', $doc);
}
ですが、これを次のように2行修正します。
public function show($id)
{
$doc = $this->docRepository->find($id);
$categories = Category::all()->pluck('name','id');
if (empty($doc)) {
Flash::error('Doc not found');
return redirect(route('docs.index'));
}
return view('docs.show', compact('doc', 'categories'));
}
リレーション先のメンバを全て集めてビューに渡しています。