CakePHP 2.x 字段为空或 null

CakePHP 2.x Field is Empty or null

我正在尝试 运行 一个有很多条件的查询,但其中一个条件是如果我想检查一个字段是 null 还是空的,我试过但没有成功:

$query['conditions']['team.product_group'] = ["", null];

这并没有产生想要的结果,所以我想试试 OR

    $query['conditions']['OR'] = [
      'team.product_group' => "",   
      'team.product_group' => null,   
    ];

嗯,我现在有一个数组键冲突。

是否有另一种方式来表示字段是空字符串还是 NULL?

数据库是MySQL

非常感谢。

我认为这可能适合你:

$query['conditions']['OR'] = [
  'team.product_group' => "",   
  'team.product_group IS NULL',
];

现在您的 conditions 数组中有多个 OR 子句,这可能有效:

$query['conditions']['AND'] = [
  'OR' => [
    'team.product_group' => "",   
    'team.product_group IS NULL',
  ],
];

来自文档 Complex Find Conditions

You can create very complex conditions by nesting multiple condition arrays:

array(
    'OR' => array(
        array('Company.name' => 'Future Holdings'),
        array('Company.city' => 'CA')
    ),
    'AND' => array(
        array(
            'OR' => array(
                array('Company.status' => 'active'),
                'NOT' => array(
                    array('Company.status' => array('inactive', 'suspended'))
                )
            )
        )
    )
)