【发布时间】:2015-02-07 08:28:15
【问题描述】:
我有这两张桌子,一张是这张桌子
id field_name value record_id
1 first_name john 1
2 last_name pencer 1
3 first_name jame 2
4 last_name mellow 2
我有一个 $filter_name 变量,它将查看子表,该表可以包含 first_name、last_name 或两者都进行过滤,我该怎么做?这个我试过了
$query = $table::with(
array(
'detail', function($qry) use ($filter_name)
{
$qry->where('field_id', '=', '1');
$qry->where('value', 'like', '%'.$filter_name.'%');
$qry->where('field_id', '=', '2');
$qry->where('value', 'like', '%'.$filter_name.'%');
}
)
);
$query->orWhereHas('detail', function($qry) use ($filter_name){
$qry->Where(function($q) use ($filter_name)
{
$q->where('field_id', '=', '1');
$q->where('value', 'like', '%'.$filter_name.'%');
$q->where('field_id', '=', '2');
$q->where('value', 'like', '%'.$filter_name.'%');
}
});
在搜索 first_name 时才返回,我不知道如何使它也能够查看 last_name
任何人都有一个很好而详细的关于 eloquent 与关系嵌套查询(有很多嵌套和或)的教程,你能和我分享一下吗?提前致谢
【问题讨论】: