2014-12-03 41 views
1

我有一对多的关系设置。Laravel Eloquent - 仅当数据与一对多关系匹配时才提取数据

客户可以有许多学生,学生可以有完整或左边的状态。

我想要取得客户,只有当他们有充分的学生。

我想预先加载会做的伎俩,但它仍然是回头客,如果他们没有完整的学生:

$customers = Customer::with(array('students' => function($query) 
    { 
     $query->where('STATUS', '=', 'FULL'); 
    }))->get(); 

有一个狩猎左右在谷歌,但找不到任何东西,真的不知道怎么样来回答这个问题。

感谢您的帮助

+0

客户是否也有一个状态字段? – solidau 2014-12-03 01:01:23

+0

不,客户总是存在(在这种情况下,他们是父母)。他们没有领域来确定他们的地位。卡住表结构也不能修改数据库。 – Pedro 2014-12-03 01:04:03

回答

2

您只是选择与该查询拉回什么关系。你需要的是选择其中的关系有一定的财产

尝试客户

$customers = Customer::whereHas('students', function($q) { 
    $q->where('STATUS', '=', 'FULL'); 
})->get(); 

延伸阅读:

http://laravel.com/docs/4.2/eloquent#querying-relations

+0

Mucho gracias !! – Pedro 2014-12-03 01:38:30

相关问题