IT-Storm

Комментировать свой код — как убирать в туалете. Никогда не хочется это делать, но это реально важно для создания приятного опыта у ваших гостей

Menu

Yii2: примеры запросов к базе данных

Yii2: примеры запросов к базе данных

Выполняем запрос к БД:
1 шаг: метод find() - находит объект запроса;
2 шаг: настройка объекта запроса. Например используя метод-построитель запроса. Порядок написания данных методов не имеет значения;
3 шаг: получение данных запроса в виде объектов\массивов. Например метод - all() (аналог селекта со звёздочкой (SELECT * FROM ...))

Примеры:
    $parts = Article_part::find()->all();
    $parts = Article_part::find()->orderBy( ['id' => SORT_ASC] )->all();
    $parts = Article_part::find()->orderBy( ['id' => SORT_DESC] )->all();
    $parts = Article_part::find()->asArray()->where('id=1')->all();
    $parts = Article_part::find()->asArray()->where(['title' => 'Софт'])->all();
    $parts = Article_part::find()->asArray()->where(['like', 'keywords', 'php'])->all();
    $parts = Article_part::find()->asArray()->where(['>=', 'id', '3'])->all();
    $parts = Article_part::find()->asArray()->limit(3)->all();
    $parts = Article_part::find()->asArray()->limit(1)->one();
    $parts = Article_part::find()->asArray()->where(['>=', 'id', '3'])->count();
    $parts = Article_part::findOne()->where(['>=', 'id', '3']); // только объект
    $parts = Article_part::findAll();
    $parts = Article_part::findAll()->where(['>=', 'id', '3']); // только объект

    Способ с использованием SQL запроса
    $sql = "SELECT * FROM `article` WHERE keywords LIKE '%php%'";
    $parts = Article::findBySql($sql)->all();

    Подготовленный запрос
    $searchString = "%php%";
    $sql = "SELECT * FROM `article_part` WHERE keywords LIKE :search";
    $parts = Article_part::findBySql($sql, [':search' => $searchString])->all();

PHP