cakephp 如何在OR条件中使用isNull表达式

n3ipq98p  于 2023-02-19  发布在  PHP
关注(0)|答案(1)|浏览(171)

Cakephp版本:4.3.5
我试图在自定义查找器中构造一个使用isNull表达式的Or条件。
在文本中,我尝试这样做:

public function findMyTasks(Query $query, array $options): object
{
   $query
      ->where([
         'Tasks.status' => $options['status'],
         'Tasks.user_id' => $options['user_id'],
         'OR' => [
             ['Tasks.contact_id' => null], // HERE IS THE CONDITION
             ['Contacts.status' => 1]
         ],
      ]);

    return $query;

 }

如果我想在没有OR的条件中使用isNull,我将使用以下语句:

->where(function (QueryExpression $exp, Query $q) {
   return $exp->isNull('Tasks.contact_id');
})

我已经通过引用这里的高级条件页尝试了各种组合,但是我不能在没有语法错误的情况下将表达式与条件组合。

    • 问题:**

我如何构造这个使用带OR条件的isNull的查找器?
谢谢,曾茨。

fcg9iug3

fcg9iug31#

如文件所示:

'OR' => [
    ['Tasks.contact_id IS' => null],
    ['Contacts.status' => 1]
],

在这一页的下面再往下一点:https://book.cakephp.org/4/en/orm/query-builder.html#automatic-is-null-creation

相关问题