I think this is what you mean:
$this->User->find('all', array(
'conditions' => array('not' => array('User.site_url' => null))
));
Your just missing the null
$this->User->find('all', array('conditions' => array('not' => array('User.site_url'=>null))));
In Cake, a WHERE condition is constructed from 'conditions' element by joining keys and values. That means that you can actually skip providing the keys if you like. E.g.:
array('conditions' => array('User.id'=>1))
is completely equivalent to
array('conditions' => array('User.id = 1'))
Essentially, you can solve your problem by just this:
$this->User->find('all', array('conditions' => array('User.site_url IS NOT NULL')));
For simple query:
$this->User->find('all', array(
'conditions' => array(
'User.site_url IS NOT NULL'
));
For cakephp 3.X
$table = TableRegistry::get('Users');
$assessmentComments = $table
->find()
->where(function (QueryExpression $exp, Query $q) {
return $exp->isNotNull('site_url');
})
->all();
You can also try this,
$this->User->find('all', array('conditions' => array('User.site_url <>' => null));
This works fine for me..
Please try ''
rather than null
:
$this->User->find('all', array('conditions' => array('User.site_url <>' => ''));
This work fine for me:
$this->User->find('all', array('conditions' => array('User.site_url !=' => null));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With