Query Generator

Artykuł opisuje sposoby tworzenia zapytań do baz danych.

Przyjrzyjmy się sposobowi w jaki możemy tworzyć zapytania do bazy danych. W tym celu stworzymy instancję QueryGenerator, do której przekażemy nazwę modułu dla którego chcemy pobrać dane oraz opcjonalnie ID użytkownika.

 

$queryGenerator = new \App\QueryGenerator('Contacts', \App\User::setCurrentUserId(1)); //określa tabele/tablę w bazie danych odpowiadającą encji
$queryGenerator->setFields(['id', 'phone', 'mobile']); //ustawiamy, które pola chcemy pobrać
$queryGenerator->addNativeCondition(['not', ['mobile' => '']]); //warunki natywne ORM Yii
$queryGenerator->addCondition('phone', '', 'ny', false); //warunki stworzone przez zespół YetiForce ('ny' oznacza 'IS NOT EMPTY')[/code]
 
$dataReader = $queryGenerator->createQuery() //tworzymy nową instancję obiektu Query (zapytania)
->createCommand() //tworzymy kwarendę SQL
->query() //wykonanie sktryptu
;
while ($row = $dataReader->read()) {
//kod przetwarzający zwaracane wiersze
}
  • piątek, 06 maj 2022