【发布时间】:2021-05-28 02:13:28
【问题描述】:
我有两个表和关系如下 用户 用户表:
| id | name | active |
|---|---|---|
| 1 | abc | 1 |
| 2 | xyz | Null |
| 3 | abx | 0 |
书桌:
| id | user_id | name | active |
|---|---|---|---|
| 1 | 1 | book1 | 0 |
| 2 | 2 | book2 | 0 |
| 3 | 1 | book3 | 0 |
关系是这样的 用户->书籍(HasMany)
return $this->hasMany(Book::class,'user_id','id');
我的查询如下
User::with('book')
->WhereHas('book', function($query) {
$query->where(['active'=> 1]);
})
->where(['id'=> 1,'active'=>1])
->get();
此查询获得零记录,因为书籍中的活动为 0
- 但我想查看所有用户记录,以及是否有匹配记录与书中的活动 1。
- second 是查询用户活动 1 或 Null,如果使用
->orwhereNull('active')所有记录都会更改。
谢谢
【问题讨论】: