我正在使用Cakephp 3,并尝试从具有非空字段的表中获取一些行/记录。
例如:-
我有一个areas
表,其中有一个名为的字段Area_block
。我需要获取其中包含某些内容的那些行的记录Area_block
。简而言之,我不需要空Area_block
行或NULL行。
Area_block
默认情况下不是NULL字段。因此它保持为空/空白。
我试过了
$conditions = ['Area_Block IS NOT NULL'];
$conditions = ['NOT' => array('Area_Block' => '')];
$conditions = ['Area_Block <>' => ''];
$conditions = ['Area_Block !=' => ''];
但是没有用!
我的环境包括Apache上的MSSQL Server 2008和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
字段设置为default NULL
,或者默认为''
并阻止该字段接受NULL
值。
仅使用NOT NULL
值来工作可能会更容易。如果更改表以反映此情况,则只需检查以下''
值:
$conditions = ['Area_Block IS NOT' => ''];
请参阅3.x Cookbook中的自动IS NOT NULL创建。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句