Yii2左联接查询,条件不为空

问题描述 投票:0回答:2

我有一个书和一个书借阅表,我想查询所有借书不为空的借书。

表结构为

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名称,然后是借来的书...

php yii2
2个回答
1
投票

如果您坚持使用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();

0
投票

基于ActiveRecord的更多解决方案以获取相交的借书:

© www.soinside.com 2019 - 2024. All rights reserved.