我在表中有一个模型和现成的数据.在这个模型中,我添加了一个新字段,并与另一个表建立了连接.
为了不 for each 记录手动填写这些字段,我想创建一个迁移,它将自动为所有记录填写此字段.
关系表有两个字段:post_id和Author_id.
我正试着这样做:
$posts = Posts::find()->all();
foreach ($posts as $index => $post) {
for($i = 0, $j = 0; $i < $index; $j++, $i++) {
if ($j >= 4) {
$j = 0;
}
$item = new PostAuthor();
$item->setAttribute('post_id', $posts->id);
$item->setAttribute('author_id', $j + 1);
$item->save();
}
}
一切也都正常工作,但有一个问题,当计数器达到4时,则从1开始将作者id再次添加到相同的帖子中.
我附上了一个截图,什么不应该被圈住,当计数器达到4时,帖子就不需要再添加作者ID了