Способы выборки
Выборка записей
Выборка нескольких записей.
// все записи Post::find()->all(); // выборка с условием Post::find()->where(['category_id' => 4])->limit(10)->all(); // выборка с условием (можно передавать массив) Post::find()->where(['category_id' => [4,12]])->limit(10)->all();
Выборка нескольких записей по ИД.
Post::findAll([1,4,12]); // 1-ый способ Post::find()->where(['id' => [1,4,12]])->all(); // 2-ой способ
Выборка одной записи.
Post::findOne(14); // 1-ый способ Post::find()->where(['id' => 14])->one(); // 2-ой способ
Сортировка
Сортировать записи можно через метод orderBy()
.
Post::find()->orderBy(['id' => SORT_DESC])->get();
Количество записей
Вернуть количество записей можно через метод count()
.
Post::find()->where(['category_id' => 4])->count(); // 14
Выборка элементов начиная с указанного показателя
Выбрать записи, у которых, например, поле «rating» больше 100, можно через параметр >
в методе where()
.
Post::find()->where(['>', 'rating', 100])->all();
Поиск по строке
Искать записи по указанной строке можно через параметр like
в методе where()
.
// 1-ый способ Post::find()->where(['like', 'title', 'Yii'])->all(); // 2-ой способ (с условием) Post::find()->where(['like', 'title', 'Yii'])->where(['active' => 1])->all();
Код выше находит все записи, в названиях которого есть строка «Yii».
Также можно настроить поиск через Sphinx.
Записи за указанный год
Выбрать записи за указанный год можно через код ниже:
Post::find()->where(['YEAR(created)' => '2018'])->all();
Поддержать автора