Робота з запитами в Yii 2

У Yii 2.x використовується 3 типи запитів до бази даних, це: об'єкти доступу до даних (DAO), будівельник запитів (Query) та об'єктно-орієнтований інтерфейс маніпуляцією бази даних (Active Record).

Розглянемо список функцій, які дозволяють здійснювати вибірку даних, для цього розглянемо просту таблицю Country (Країни). Таблиця включає поля номер (id), назву країни (name), кількість жителів (number) і площа (area).

запитами

Розглянемо основний список функцій вибірки даних з таблиці Country. За правилами MVC виведення інформації здійснюється в поданні, але для того, щоб не захаращувати опис методів і перевірити результат, виведемо дані в контролері.

find() здійснює пошук запису з таблиці за ключовим полем. Виберемо запис із таблиці країни та виведемо назву країни

Результатом вибірки:Україна

one() вибірка одного запису з таблиці

all() вибірка всіх записів таблиці. Виведемо всю таблицю країни

Результат вибірки:Всі дані з таблиці Country

select() здійснює вибірку певних колонок таблиці. Виведемо всі назви країн та площу країн.

Результат вибірки:Всі країни та площі всіх країн

Where(), orWhere(), іWhere

where() умова вибірки. Виведемо країну у якої >

Результат вибірки:США

Виберемо країну, у якої >

Результат вибірки:Україна

Виберемо країни у якої >

Результат вибірки:Україна та Румунія

Множинна умова

where() умова вибірки. Виведемо країну у якої >

Результат вибірки:Німеччина

count() здійснює підрахунок кількості записів. Підрахуємо кількість рядків у таблиці Country

Результат вибірки:4

orderBy() здійснює сортування записів. Відсортуємо країни за алфавітним порядком.

Результат вибірки:Німеччина Україна Румунія США

asArray() здійснює перетворення даних у масив. Переведемо дані до масиву та виведемо країни

Результат вибірки:Україна Румунія СШАНімеччина

indexBy() здійснює індексацію за певним стовпцем. Зробимо індексацію по стовпцю id

limit() визначає кількість записів, що вибираються.

limit() визначає з якого запису буде вибірка. Виберемо 2 країни, починаючи з третьої.

Результат вибірки:СШАНімеччина

like встановлює відповідність рядка із шаблонами. Виберемо країни зустрічається літера м.

Результат вибірки:РумуніяНімеччина

in множина умова вибірки. Виберемо країни >

Результат вибірки:Україна Румунія США

Виберемо країни у яких номена id не дорівнює 1, не дорівнює 2, не дорівнює 3

Результат вибірки:Німеччина

between() вибираємо значення між певними значеннями. Виберемо країни у яких номер стоїть між 1 та 3 (крайні значення 1 та 3 включаються у вибірку).

Результат вибірки:Україна РумуніяСША

groupBy() групує значення, якщо вони однакові. Згрупуємо країни по полю name

Результат вибірки:Україна РумуніяСША Німеччина

having() аналог оператора where(), тільки оператор having() працює з агрегатними функціями count(), min(), max(), avg(), sum()

addParams() додає параметр до умови. виберемо країну у якої >

Результат вибірки:Україна

findBySql() вибірка за допомогою запиту sql. Виберемо країни з чисельністю населення 146519759 та 322369319 осіб

Результат вибірки:Україна США

У цій статті ми розглянули список методів, які здійснюють вибірку даних під час роботи з моделлю.