查询正在检索错误数据,必须仅检索departamento
非空。任何人都可以帮助我吗?
代码:
$banca = Banca::with(['trabalho.membrobanca.departamento' => function($query) use ($d) {
$query->where('id', $d);
}])->get();
$banca = collect($banca)
->unique('trabalho_id')
->values()
->all();
关系图。
答案 0 :(得分:0)
您可以使用Laravel has()函数。它将返回返回 Banca ,其中 departamento 不为空
$banca = Banca::with(['trabalho.membrobanca.departamento' => function($query) use ($d) {
$query->where('id', $d);
}])
// has function will return banca if banca has non-null departamento
->has('trabalho.membrobanca.departamento')
->get();
检查一下:
https://laravel.com/docs/5.4/eloquent-relationships#querying-relationship-existence
答案 1 :(得分:0)
您可以将过滤器放在memrobanca
表上并过滤空值。
$banca = Banca::with([
'trabalho.membrobanca' => function($query) use ($d) {
$query->where('departamento_id', $d)
->whereNotNull('departamento_id')
->with('departamento');
}
])
->get();