@happ

Как в Yii2 проверить найдена ли запись?

Делаю выборку несуществующей записи, результат true т.к. в массив не пустой, в нем и другие поля.
Далее будет запрос на удаление записи.
$followRecord = Follow::find([
            'userId' => 111,
            'onUserId' => 777
])->one();

 if($followRecord)
              //Удаление
  • Вопрос задан
  • 1827 просмотров
Решения вопроса 2
Bandicoot
@Bandicoot
Вась-программист
if ( !empty($followRecord) ) {
    // Удаление
}
Ответ написан
Комментировать
supervaleha
@supervaleha
Web-development
Используйте exists.
$hasRecord = Follow::find([
            'userId' => 111,
            'onUserId' => 777
])->exists();

 if($hasRecord){
     // delete
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@karminski
Senior React.JS Developer
Если у вас "результат true", то это значит что функция one() нашла таки запись. One() возвращает либо массив аттрибутов найденной записи, либо NULL (`null` will be returned
if the query results in nothing). Так что проверяйте запрос к БД.

И да, я обычно проверяю так:
$followRecord = Follow::find(['userId' => 111, 'onUserId' => 777])->one();
if ($followRecord instanceof Follow) {
// запись найдена - удаляем ???
}
Ответ написан
Комментировать
za4me
@za4me
Человек
!== null в if.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы