gpt4 book ai didi

php - 在 yii 模型操作中运行 for 循环创建并保存每条记录,尽管 for 循环结束

转载 作者:行者123 更新时间:2023-12-04 04:43:40 25 4
gpt4 key购买 nike

我需要在 yii 模型操作 create 或 Addipblock() 中运行 forloop 并保存每条记录,尽管 forloop 结束,然后将其重定向到查看管理员,

我的第一条记录从 1 开始到 50 结束,所以在数据库中应该添加 50 条记录。

我的代码是这样的:

`public function actionAddipblock(){        
$model=new IpManager('addipblock');
if(isset($_POST['IpManager'])){
$model->attributes=$_POST['IpManager'];
$starting_ip = $_POST['IpManager']['starting_ip'];
$ending_ip = $_POST['IpManager']['ending_ip'];
if($model->validate('addipblock')){
for($ip = $starting_ip; $ip <= $ending_ip; $ip++){
$model->ip = $ip;
$model->server = $_POST['IpManager']['server'];
$model->client = $_POST['IpManager']['client'];
$model->status = $_POST['IpManager']['status'];
$model->creation_date = date("Y-m-d H:i:s");
}
if($model->save()){
$this->redirect(array('admin'));
}
else{
echo 'Error:';
}
}
}
$this->render('addipblock',array('model'=>$model));
}`

但是当我运行这段代码时,它只保存一条记录,直到 forloop 结束才保存所有记录。
伙计们,你会为此给我什么建议?我该怎么做?

最佳答案

在你的 forloop 中试试这个,

    for($ip = $starting_ip; $ip <= $ending_ip; $ip++){
// you need to null your model primary key
$model->id = null; // like this
$model->ip = $ip;
$model->server = $_POST['IpManager']['server'];
$model->client = $_POST['IpManager']['client'];
$model->status = $_POST['IpManager']['status'];
$model->creation_date = date("Y-m-d H:i:s");
$model->isNewRecord = true;
$model->save();

}

关于php - 在 yii 模型操作中运行 for 循环创建并保存每条记录,尽管 for 循环结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18527156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com