作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Cakephp 3 并尝试从一个字段为非空的表中获取一些行/记录。
例如:-
我有一个areas
表,其中包含一个名为Area_block
的字段。我需要为那些在 Area_block
中有内容的行获取记录。简而言之,我不需要空行或 NULL Area_block
行。
Area_block
默认情况下不是 NULL 字段。所以它仍然是空的/空白的。
我试过了
$conditions = ['Area_Block IS NOT NULL'];
$conditions = ['NOT' => array('Area_Block' => '')];
$conditions = ['Area_Block <>' => ''];
$conditions = ['Area_Block !=' => ''];
但没有任何效果!!
我的环境包括 MSSQL server 2008 和 apache 上的 PHP 5.6。
请帮忙!!
最佳答案
我了解到您的表保存的记录的 Area_Block
均设置为 NULL
和 ''
(空字符串)。
尝试以下操作:
$conditions = [['Area_Block IS NOT' => null], ['Area_Block IS NOT' => '']];
这也应该有效:
$conditions = ['Area_Block IS NOT' => [null,'']]; //haven't tested it
但是,为了降低复杂性,您可能希望在数据库中将 Area_Block
字段设置为默认为 NULL
,或者默认为 ''
并阻止该字段接受 NULL
值。
专门使用 NOT NULL
值可能更容易。如果您更改表以反射(reflect)这一点,则只需检查 ''
值:
$conditions = ['Area_Block IS NOT' => ''];
参见 Automatic IS NOT NULL Creation在 3.x 食谱中。
关于php - CakePHP 3.x : Query to exclude records in which a field can be either NULL or empty ('' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34200397/
我是一名优秀的程序员,十分优秀!