Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Select all fields where fieldone is not equal to null + Propel

I have a question about using the propel ORM and creating a query.

I have a table "locations" with fields:

  • location
  • sublocation
  • postcode
  • street
  • number

Now I want to select all the locations where the location field IS NOT equal to 'null'.
How can I do this? I've tried this but I get back all the results ...

Tried query: $locations = LocationQuery::create()->where('location' != null)->find();

like image 301
nielsv Avatar asked Aug 24 '13 10:08

nielsv


3 Answers

You can also use

->filterByColumnName(null, CRITERIA::ISNOTNULL)
like image 41
Tac Tacelosky Avatar answered Oct 17 '22 02:10

Tac Tacelosky


You can use this:

->filterByColumnName(null, Criteria::NOT_EQUAL) 

There are various 'Criteria' uses in propel, listed here: propel criteria

There isn't an exact sample for this on the site, the closest is this:

->filterByTags(array('novel', 'russian'), Criteria::CONTAINS_NONE)
like image 106
user2707631 Avatar answered Oct 17 '22 03:10

user2707631


I don't know propel. But the proper SQL syntax for the expression would be:

$locations = LocationQuery::create()->where('location is not null')->find();

Any comparison to NULL in SQL returns NULL, which is treated as false. With the exception of is null and is not null.

like image 21
Gordon Linoff Avatar answered Oct 17 '22 02:10

Gordon Linoff