Php Yii2带NOTNULL条件的左联接查询

Php Yii2带NOTNULL条件的左联接查询,php,yii2,Php,Yii2,我有一个图书借阅表,我想查询所有借阅的图书,借阅的图书不为空 表结构是 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_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\u借来的\u图书中有记录的图书

如何检查NOTNULL

大概是

   $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();
$query=TblBooks::find()->leftJoin('tbl\u借来的书','tbl\u借来的书.books\u id=tbl\u books.id')
->其中(“”,,)//添加not null条件时卡在这里
->全部();

如果坚持使用
左联接
,则可以检查第二个表中不能将
NULL
作为有效值的任何列。例如,您可以使用它的主键或外键列

$query=TblBooks::find()
->左连接(
“tbl_借来的书”,
'tbl\u借来的书.book\u id=tbl\u books.id'
)->其中(['not','tbl\u借来的书.book\u id',NULL])
->全部();
但最好使用
内部联接
,因为它只返回两个表中存在匹配记录的记录。因此,它的作用与
tbl_借来的书籍的作用完全相同。book_id不为NULL

$query=TblBooks::find()
->内部连接(
“tbl_借来的书”,
'tbl\u借来的书.book\u id=tbl\u books.id'
)->全部();

更多
ActiveRecord
基于交叉借阅图书的解决方案:

$borrowedBooks = TblBooks::find()->joinWith('borrowedBooks', true, 'inner join')->all();

是否有任何原因使您专注于
左连接
<代码>内部联接
仅返回两个表中存在的记录。这基本上就是你想要的,不是吗?