Ich habe 3 DB-Tabellen: Projekte, Abstimmungen und Junction-Tabelle project_votes. Jedes Projekt kann viele Stimmen haben. Ist es eine gute Idee, eine Statusspalte in der Tabelle "Votes" (mit den möglichen Werten "new" und "old") zu verwenden, um eingehende Nachrichten zu unterscheiden? In meiner App sollten alle neuen Nachrichten alt werden, wenn ein Benutzer sein eigenes Projekt öffnet. Ich tue dies mit folgendem Code: neue Stimmen Adresse:Yii2. Wie werden neue Nachrichten am besten verwaltet?
public function getNewVotes()
{
return $this->hasMany(Vote::className(), ['id' => 'vote_id'])->where(['like', 'status', 'new'])->via('projVotes');
}
Stellen Sie alle Stimmen alt sein:
$model->newVotes = 'old'// in Controller
public function setNewVotes($var)// in Model
{
foreach ($this->newVotes as $value) {
$value->status = $var;
$value->update();
}
}
Oder gibt es eine bessere Art und Weise ohne foreach-Schleife. Zum Beispiel mit update mit Where-Klausel?
Vielen Dank. Es ist eine nützliche Information. – Dmytro
Kein Problem, ich bin froh, Ihnen helfen zu können. – ttdijkstra