У меня есть 3 таблицы DB: Проекты, Голоса и таблица соединений project_votes. В каждом проекте может быть много голосов. Полезно ли использовать столбец статуса в таблице «Голоса» (с возможными значениями «новый» и «старый»), чтобы различать входящие сообщения? В моем приложении, если пользователь открывает свой собственный проект, все новые сообщения должны стать старыми. Я делаю это с помощью следующего кода: Получать новые голоса:Yii2. Какова наилучшая практика для управления новыми сообщениями?
public function getNewVotes()
{
return $this->hasMany(Vote::className(), ['id' => 'vote_id'])->where(['like', 'status', 'new'])->via('projVotes');
}
Установить все голоса стареть:
$model->newVotes = 'old'// in Controller
public function setNewVotes($var)// in Model
{
foreach ($this->newVotes as $value) {
$value->status = $var;
$value->update();
}
}
Или есть лучший способ без цикла Еогеаспа. Например, используя обновление с предложением where?
спасибо. Это полезная информация. – Dmytro
Без проблем, рад помочь. – ttdijkstra