簡體   English   中英

在Laravel中嵌套控制器和視圖

[英]Nesting controllers and views in Laravel

我的Laravel項目中有一個名為ImageController的控制器。 這是一個非常基本的CRUD控制器。

當我通過我的ImageController@show動作訪問/images/{id} ,我還想顯示注釋。 但是,我不想將注釋邏輯放在我的ImageController 對於這個邏輯,我創建了一個ImageCommentController

我不太確定如何解決這個問題,但我正在嘗試做這類事情:

class ImageController extends BaseController {
    // methods ...

    public function show($id)
    {
        $images = // get images ...
        $this->layout->view = // images.show and imagescomment.index (using ImageCommentsController@index logic)
    }
}

如果這是含糊的措辭,我很抱歉,讓我知道是否是這樣,我會盡量讓它更容易理解。

也許比使用Controller顯示注釋更好的解決方案是使用一個帶有renderComments()方法的類,它基本上可以執行以下操作:

class Comments {
    public static renderComments($commentType = 'images')
    {
        $comments = Comments::where('comment_type', '=', $commentType)->get();
        return View::make('comments', $comments)->render();
    }
}

然后例如在圖像視圖中:

...
{{ Comments::renderComments() }}
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM