多个模型关联时,增加条件判断
需求大概如下(使用查询我可以完成,但是使用模型就是解决不了,希望可以使用模型完成,增加以下这方面自己的了解),
用户表user_list,有属性id,full_name,user_staus
卡片表card_list,有属性id,user_id,card_status,card_info
现在想获取所有user_staus=1的card信息,实际sql大概是
select * from user_list a inner join card_list on a.id=b.user_id where a.user_status=1
也就是代码块中的where(‘user_status’, 1),但是并不生效,在论坛中,官网都查过了,有看到使用find(id)->userList()这样链式调用,但是和我需求不太符合,希望知道的大佬指导一下。
CardListModel文件
protected $table = 'card_list';
public function userList(): BelongsTo
{
return $this->belongsTo('App\Models\UserList', 'user_id');
}
获取信息代码
$data = CardList::query()
->with([
'userList' => function ($query) {
$query->select('id', 'full_name','user_status')
->where('user_status', 1);
}
]
);
推荐文章: