我试图通过状态过滤我的代理模型。status列位于一个单独的模型上,即用户。所以在我的存储库里,我就是这样做的:
public function blocked($howMany = 10)
{
return $this->model->join('users', 'users.userable_id', '=', 'agents.id')
->where(function($query)
{
$query->where('users.status', config('user.status.blocked'));
})
->paginate($howMany);
}其中$this-> model 的值是在构造函数中注入的代理模型实例。但是,下面的代码在我的控制器的循环中工作:
public function blocked()
{
$agents = $this->agents->blocked();
foreach ($agents as $agent)
{
dd($agent->user);
}
return view('agents.admin', compact('agents'));
}用户的值为空。做这件事最好的方法是什么?
发布于 2015-04-15 04:11:38
通常你们的关系应该如下:
public function blocked($howMany = 10)
{
return $this->hasMany('users', 'userable_id', 'id')
->where('status','=',config('user.status.blocked'))
->paginate($howMany);
}https://stackoverflow.com/questions/29641204
复制相似问题