我试图在Laravel 5.1的 View 中调用 Controller Action ,但无法执行此操作。
到目前为止,这是我尝试过的:
<?php echo BridesController::getPhotographer($data->sender_id);?>
但是它给类'BridesController'找不到错误。
最佳答案
要在属于您当前 Action 的 View 中呈现外部 Action 输出,您需要从当前 Action 中调用该外部 Action ,然后将其输出存储到变量中并将其传递给当前 View 。
来自同一 Controller 的调用 Action
如果要渲染的 Action 在您使用的同一 Controller 内,则可以调用:
$result = $this->action();
return view('my.view',['my_rendered_action'=>$result]);
然后,在您的 View 内,只需:
{!! $my_rendered_action !!}
请注意,不要使用此方法呈现来自用户的任何,因为{!! !!}标签不会泄漏危险的输入。如果您的 Action 响应中不需要HTML,则始终更喜欢使用{{}}。
从另一个 Controller 调用 Action
如果您需要在多个 Controller 之间共享一种方法,最干净的方法是创建一个特征或一个实现逻辑的Job,然后两个 Controller 将使用该特征或调度同一作业。
有关更多信息,请引用Shaddy's answer to this question。
希望能帮助到你。 ;)
关于laravel-5.1 - 如何在Laravel 5.1中从Blade调用 Controller Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32008348/