在Laravel中还有很多地方,都用到了一种依赖注入的写法。https://laravel.com/docs/5.5/controllers#dependency-injection-and-controllers

我们今天要学习的也就是它了。注意看这3个方法中,都需要先去查询一下当前的issue,才能再做进一步的操作,这样写完全没有任何问题,但其实这这里还有更简洁的写法。

class IssuesController extends Controller
{
    //...

    public function show(Issue $issue)
    {
        $comments = $issue->comments;
        return view('issues.show', compact('issue', 'comments', 'content'));
    }

    public function edit(Issue $issue)
    {
        return view('issues.edit')->with('issue', $issue);
    }

    public function update(Request $request, Issue $issue)
    {
        $issue->update($request->all());
        return redirect(route('issues.show', $issue->id))->with('notice', 'Issue 修改成功~');

        // 这里直接写$issue也是可以的
        // return redirect(route('issues.show', $issue))->with('notice', 'Issue 修改成功~');;

    }

    public function destroy(Issue $issue)
    {
        $issue->delete();
        return redirect('/')->with('alert', 'Issue 删除成功~');
    }
}