我的Laravel项目中有一个名为ImageController
的控制器。这是一个非常基本的CRUD控制器。
当我通过/images/{id}
操作访问ImageController@show
时,我还希望显示评论。但是,我不想将评论逻辑放在我的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)
}
}
如果这是含糊不清的措辞,我很抱歉,如果有的话请告诉我,我会尽量让它更容易理解。
答案 0 :(得分:2)
使用Controller来显示注释的一个更好的解决方案是使用一个带有renderComments()方法的类,它基本上是这样的:
class Comments {
public static renderComments($commentType = 'images')
{
$comments = Comments::where('comment_type', '=', $commentType)->get();
return View::make('comments', $comments)->render();
}
}
然后例如在图片视图中:
...
{{ Comments::renderComments() }}
...