2013-11-17 1 views

ответ

1

Я не работал с этим сам, но с преобразованием floww, в это должно сделать трюк

$model = ORM::factory('t')->and_where_open() 
    ->where('s1_id', '=', '1') 
    ->where('s2_id', 'IN', array(2,3,4)) 
    ->and_where_close() 
    ->or_where('s1_id', 'IN', array(2, 3, 4)); 

Если вы ожидаете одного результата, используйте $model->find() сейчас, и вы можете получить доступ к имени через $model->name.

Если вы ожидаете несколько результатов, используйте $model->find_all() и перебрать его, получая все ->name сек


Как вы можете видеть в API browser, ORM не поддерживает IF заявления. Если вы не хотите, чтобы жестко закодированное решение, подобное опубликованному, я думаю, вам придется добавить эту функцию самостоятельно.

1

Попробуйте это:

SELECT t.name FROM t WHERE (t.s1_id = 1 and t.s2_id IN (2,3,4)) or (t.s1_id IN (2,3,4)) 

 Смежные вопросы

  • Нет связанных вопросов^_^