【发布时间】:2017-04-15 23:53:06
【问题描述】:
我有一个带有功能的控制器(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);
?>
但我有一个错误:找不到类“UsersController”。
我不确定我的做法是否正确。
【问题讨论】:
-
首先应该是
UserController,而不是UsersController。另外,你做错了,所以建议你先阅读 Laravel 文档。至少了解一下控制器、路由和视图。 -
是的,我认为这是错误的方法。我要从别人那里收回。但是你能快速解释一下我在这种情况下做错了什么吗?
-
这不是控制器的使用方法。不应从视图内部调用它。
标签: php laravel laravel-5 laravel-5.4