我有一个变量
我为每个项目运行了foreach循环
$tags = ['#first_Tag','#second_tag','#third_tag','#fourth_Tag'];
foreach ($tags as $t) :
$model = new Tags;
$model->tag_name = $t;
$model->save(); //yii2
endforeach;
此功能仅保存#fourth_Tag的最后一项。 任何人都可以解决这个问题。提前谢谢。
答案 0 :(得分:3)
试试这个..
$tags = ['#first_Tag','#second_tag','#third_tag','#fourth_Tag'];
$model = new Tags;
foreach ($tags as $t) :
$model->id = NULL; //primary key(auto increment id) id
$model->isNewRecord = true;
$model->tag_name = $t;
$model->save(); //yii2
endforeach;
答案 1 :(得分:3)
我遇到了完全相同的问题并得到了完美的解决方案。经过测试。
$tags = ['#first_Tag','#second_tag','#third_tag','#fourth_Tag'];
foreach ($tags as $t) :
$model = new Tags;
$model->tag_name = $t;
$model->save(); //yii2
unset($model);
endforeach;
这是当你创建一个与现有变量同名的新变量时,它会覆盖它的值。在这里,您无需创建新属性或将ID设置为null
;在unset()
循环结束之前只有$model
foreach
。