【发布时间】:2014-01-10 15:24:05
【问题描述】:
我尝试提出一个简单的请求。 假设登录用户有“项目”。 并假设“项目”有很多“评论”。
我尝试从用户那里获取所有项目的所有评论。
我有一个名为“users”、“projects”、“cmets”的表。 用户由 Sentry 管理。
我有两个模型:项目和评论:
class Project extends Eloquent { ... }
class Comment extends Eloquent { ... }
在我的模型“项目”中,我有这个:
public function comments()
{
return $this->hasMany('Comment');
}
在我的控制器中我有这个
$projects = Project::comments()->paginate(10);
而且...不起作用。 以最好的方式,我想要这样的东西
$projects = Project::comments()->where('projects.account_id', '=', Sentry::getUser()->id)->paginate(10);
你能帮帮我吗?
编辑
好的,现在,我修改了这样的模型
用户模型:
public function project()
{
return $this->hasMany('Project');
}
项目模型:
public function user()
{
return $this->belongsToMany('User');
}
评论模型:
public function project()
{
return $this->belongsToMany('Projects');
}
在我的控制器中:
$projects = User::with( array('project', 'project.comments') )->find( Sentry::getUser()->id );
并且 Laravel 在我的刀片循环中说“尝试获取非对象的属性”:
@foreach ($projects as $project)
{{ $project->slug }}
@endforeach
几乎..
编辑
好的,工作正常。我修改了我的观点,没关系。 谢谢大家
【问题讨论】: