最佳答案
@Pepsi丶 第一个参数就是你定义的关联关系时取的方法名,跟你用with差不多,随便举个例子
$rows = Post::with('user');
if(!empty($data['keyword'])){
if(is_numeric($data['keyword'])){//用户id
$rows =$rows->whereHas('user',function($query)use($data){
$query->where('id',$data['keyword']);
});
}else{//名字
$rows =$rows->whereHas('user',function($query)use($data){
$query->where('user_name','like',"%$data[keyword]%");
});
}
}
$rows = $rows->get();
讨论数量:
@Pepsi丶 第一个参数就是你定义的关联关系时取的方法名,跟你用with差不多,随便举个例子
$rows = Post::with('user');
if(!empty($data['keyword'])){
if(is_numeric($data['keyword'])){//用户id
$rows =$rows->whereHas('user',function($query)use($data){
$query->where('id',$data['keyword']);
});
}else{//名字
$rows =$rows->whereHas('user',function($query)use($data){
$query->where('user_name','like',"%$data[keyword]%");
});
}
}
$rows = $rows->get();
$rows =$rows->whereHas('user',function($query)use($data){ $query->where('id',$data['keyword']); }); 这个user是表的名称吗?
推荐文章: