Я разрабатываю приложение, используя idiorm (https://github.com/j4mie/idiorm) для получения данных из базы данных.
Вот мой кусок кода:
$messages = Model::factory('Messages')->where('from_user_id','1')->find_many();
Я хочу включить или заявление, которое where->('to_user_id','1')
Как я могу поместить это как оператор OR в мой запрос Idiorm?
Это похоже на то, что руководство говорит вам сделать для условия ИЛИ
$messages = Model::factory('Messages')
->where_any_is(
array(
array('from_user_id' => 1),
array('to_user_id' => 1)
)
)
->find_many();
Я не знаком с идиорм, но глядя на исходный код Вы должны быть в состоянии использовать where_raw
построить свой собственный пункт где:
/**
* Add a raw WHERE clause to the query. The clause should
* contain question mark placeholders, which will be bound
* to the parameters supplied in the second argument.
*/
public function where_raw($clause, $parameters=array()) {
return $this->_add_where($clause, $parameters);
}
Что-то вроде ->where_raw('from_user_id = ? OR to_user_id = ?', array(1, 1))