限制条目数并在for循环中断后重新启动

问题描述 投票:0回答:1

我在表格中有一个模型和现成的数据。在这个模型中,我添加了一个新字段并与另一个表建立了连接。

为了不为每条记录手动填写这些字段,我想创建一个迁移,它将自动为所有记录填写此字段。

关系表有两个字段: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) {
          break;
        }
        $item = new PostAuthor();
        $item->setAttribute('post_id', $posts->id);
        $item->setAttribute('author_id', $j + 1);
        $item->save();
    }
}

或:

$posts = Posts::find()->all();

foreach ($posts as $index => $post) {
    for($i = 0; $i < $index && $i < 4; $i++) {
        $item = new PostAuthor();
        $item->setAttribute('post_id', $posts->id);
        $item->setAttribute('author_id', $i + 1);
        $item->save();
    }
}

但是我得到了同样的结果,只有当 j 达到 4 时,循环才不会再次开始,它会添加从 1 到 4 的所有其他内容:

是否可以让我在屏幕截图中圈出的帖子 ID 重新开始循环??

php yii2
1个回答
0
投票

您可以在发出 ajax 请求之前保存 URL 字符串,然后在收到并处理响应后,您可以将不需要的 URL 替换为您保存的旧 URL。这可以用

window.history.pushState()

来完成
© www.soinside.com 2019 - 2024. All rights reserved.