我有一个书和一个书借阅表,我想查询所有借书不为空的借书。
表结构为
tbl_books
id
name
然后借书
tbl_borrowed_books
id
book_id
borrowed_at
所以在我的查询中,我有
$query = TblBooks::find()->leftJoin('tbl_borrowed_books','tbl_borrowed_books.book_id = tbl_books.id')->all();
所以现在我想添加一个条件,使我想获得在tbl_borrowed_books
中有记录的所有书籍>
我如何检查不为空
类似的东西>
$query = TblBooks::find()->leftJoin('tbl_borrowed_books','tbl_borrowed_books.book_id = tbl_books.id') ->where('<>','') //stuck here on adding the not null condition ->all();
我有一个书和一个书借阅表,我想查询所有借书不为null的地方。表结构是tbl_books id名称,然后是借来的书...
如果您坚持使用LEFT JOIN
,则可以检查第二个表中任何没有NULL
作为有效值的列。例如,您可以使用它的主键或外键列。
$query = TblBooks::find()
->leftJoin(
'tbl_borrowed_books',
'tbl_borrowed_books.book_id = tbl_books.id'
)->where(['not', 'tbl_borrowed_books.book_id', NULL])
->all();
基于ActiveRecord
的更多解决方案以获取相交的借书: