2014-09-02 147 views
0

您好我使用的是定制的仓库,我得到舒服查询一个表像这样检索数据:laravel雄辩库查询外键的表

public function getAll() 
{ 
// get all logged in users projects order by project name asc and paginate 9 per page 
return \Auth::user()->projects()->orderBy('project_name', 'ASC')->paginate(9); 

}

,并在我的控制,我只是调用

public function __construct(ProjectRepositoryInterface $project) { 

    $this->project = $project; 

} 

public function index() 
    { 
     $projects = $this->project->getAll(); 
     echo View::make('projects.index', compact('projects'));   
    } 

和我的看法是像这样:

@if (Auth::check()) 
@if (count($projects) > 0) 
@foreach ($projects as $project) 
{{ $project->project_name }} 
@endforeach 
@else 
    <p>No records, would you like to create some...</p> 
@endif 
{{ $projects->links; }} 
@endif 

但是在我的项目表中,我有一个status_id和一个client_id,我想用已登录的用户检索这些表的记录,但我不知道如何构建我的查询,有没有人有任何指导?

回答

1

按照laravel [文件] http://laravel.com/docs/eloquent#relationships,在项目模型,你可以添加以下功能:

class Project extends Eloquent { 

public function clients() 
{ 
    return $this->hasMany('Client'); 
} 

}

在您的客户端模式,那么你可以添加具有关系的逆功能:

class Client extends Eloquent { 

public function project() 
{ 
    return $this->belongsTo('Project'); 
} 

}

然后,您可以使用以下功能检索数据:

$clients = Project::find(1)->clients;