3460 Posts in 1064 Topics by 739 members
|Go to End|
14 November 2012 at 8:12am
I need assistance on how to filter a datalist by where Firstname = 'Sam' or surname = 'paul'. How do you achieve this using the new ORM?
19 November 2012 at 12:04am
To elaborate on my issue
I have a class called students with two fields : Firstname and Surname. I want A datalist of students with either Firstname Samuel or Surname 'Paul'. How do you achieve this with the new ORM?
19 November 2012 at 1:34am
I think you can still use where() as in:
$students = Student::get()->where("Firstname = 'Samuel' OR Surname = 'Samuel'");
19 November 2012 at 2:44am
It seems like filter method cannot be used to achieve this.
19 November 2012 at 4:09am Last edited: 19 November 2012 4:10am
Maybe you could even:
$students = Student::get()->exclude(array('Firstname:not' => 'Samuel', 'Surname:not' => 'Paul'));
That would be the other way around, wouldn't it? But I've not tested this and also it feels a bit strange and unreadable...
So maybe we just missed something
20 November 2012 at 10:07pm
$students = Student::get()->filter('Firstname', array('Samuel', 'Paul'));
20 November 2012 at 11:42pm
I think yours is for a result set for where firstname is either paul or samuel. My question was for where firstname is samuel or surname is paul. I implemented martimiz first ansewer and it was okay.
2 April 2014 at 8:19pm Last edited: 2 April 2014 8:30pm
Student::get()->filterAny(array('Firstname' => 'Samuel', 'Firstname' => 'Paul'));
// SQL: WHERE "Firstname" = 'Samuel' OR "Firstname" = 'Paul'
Student::get()->filterAny(array('Firstname' => array('Samuel', 'Paul')));
// SQL: WHERE "Firstname" IN ('Samuel', 'Paul')
|Go to Top|