Есть в таблице столбец (active). В нем может быть только один true, все остальное должно быть false. То есть при изменении одного так же меняются все. Подскажите, пожалуйста, как это реализовать?
Мой способ:
В моделе таблицы добавить метод setActive:
в нем сделать два запроса, первый который поставит всем false
$resetFields = \Yii::$app->db->createCommand("UPDATE table SET active=:no")
->bindValue(':no', 0)
->execute();
Второй, который запишет true нужному полю:
$query = \Yii::$app->db->createCommand("UPDATE table SET true=:yes WHERE id=:id")
->bindValue(':id', $this->id)
->bindValue(':yes', 1)
->execute();