Yii найти все, что соответствует хотя бы одному из нескольких критериев - PullRequest
0 голосов
/ 13 февраля 2012

Я выполняю действие simpleQuery в Yii для findAll записей, которые соответствуют хотя бы одной из нескольких CDbCriteria или, если необходимо, только некоторым условиям поиска.Например, я хочу, чтобы пользователь мог запрашивать мои записи, набирая одну строку.Эта строка должна быть проверена по каждому из четырех столбцов, и в результирующий набор должны быть включены все записи, для которых хотя бы один столбец сопоставлен со строкой (без дубликатов).Я все еще новичок в Yii, поэтому любая помощь очень ценится.

1 Ответ

2 голосов
/ 13 февраля 2012

Предполагая, что у вас есть поисковый ввод в поле $ search_input модели, и вы хотите выполнить поиск во всех трех полях - name, title и desc, для этой строки вы можете сделать -

$criteria = new CDbCriteria();
$criteria->compare('name', $this->search_input, TRUE, 'OR');
$criteria->compare('title', $this->search_input, TRUE, 'OR');
$criteria->compare('desc', $this->serach_input, TRUE, 'OR');
$result = MyModel::model()->findAll($criteria);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...