Как проверить наличие модели в БД? В версии Yii 1 это было так: User::model()->exist()
В Yii2 вы можете добавить exists()
в цепочку запросов:
User::find() ->where( [ 'id' => 1 ] ) ->exists();
(Сгенерированный SQL выглядит так: SELECT 1 FROM `tbl_user` WHERE `id`=1
)
Вот также Query->exists()
взятый из источника Yii2.
/** * Returns a value indicating whether the query result contains any row of data. * @param Connection $db the database connection used to generate the SQL statement. * If this parameter is not given, the `db` application component will be used. * @return boolean whether the query result contains any row of data. */ public function exists($db = null) { $select = $this->select; $this->select = [new Expression('1')]; $command = $this->createCommand($db); $this->select = $select; return $command->queryScalar() !== false; }
if(Mastersettings::find()->where(['id'=>1,'status'=>1])->exists()) { //....... Your code Here ...... }
http://yii2ideas.blogspot.in/2017/06/yii2-database-operations.html