我有一个模型和一个表中的现成数据。在这个模型中,我添加了一个新字段,并与另一个表建立了连接。
为了不需要为每条记录手动填写这些字段,我希望创建一个迁移,自动为所有记录填写此字段。
关系表有两个字段:帖子ID和作者ID。
$posts = Posts::find()->all();
foreach ($posts as $index => $post) {
for($i = 0; $i < $index; $i++ ) {
$item = new PostAuthor();
$item->setAttribute('post_id', $posts->id);
$item->setAttribute('author_id', $i+1);
$item->save();
}
}
现在一切正常了,author_id的最大数量将等于post的数量,也就是说,对于第一个post,它将是author_id:1,对于第二个author_id:1和作者ID:2,依此类推,最多6个author_id。
我可以限制$index的值,使其最大值为4吗?当author_id为4时,循环从1重新开始。
1条答案
按热度按时间vd2z7a6w1#