我有一个带有功能的Controller(UsersController):
public function project_donated($project_id)
{
return Donation
::groupBy('donations.project_id')
->selectRaw('sum(donations.amount) as sum, donations.project_id, projects.*')
->where('donations.project_id', $project_id)
->join('projects', 'donations.project_id', '=', 'projects.id')
->get()
->toArray();
}
此功能正常。
我将此函数返回到我的视图的同一个UserController中:
$project_donated = $this->project_donated($project_id);
return view('users.show', compact('user', 'countries', 'donation_user' , 'user_donated', 'project_donated'));
但是,我无法将$ project_id定义到我的控制器中,我需要将它指定到我的视图中,所以在我看来,我有这条线:
<?php
$project_id = $ngo->project->ngo->id;
$project_donated = UsersController::project_donated($project_id);
?>
但是我遇到了错误:Class&#39; UsersController&#39;没找到。
我不确定我是否正确地这样做。
答案 0 :(得分:0)
您可以从应用程序的任何位置调用控制器。但这不是一般做法。通过一些一般实践。
App::make('controller name')->public_methodName(params);
在以下主题中提出了类似的问题。
How to call a controller from within a view - Laravel
希望这会有所帮助。 :)