-1
<pre>
foreach($cons_name as $name){
$model = new Apps();
$model->const = $name;
$model->value =$value[$i];
$model->save();
}
</pre>

我正在使用此代码如何在这种情况下添加一些“位置”条件。我是yii的新手,请告诉我如何解决这个问题。我正在尝试使用它为我工作的给定代码保存多条记录,但我想为其添加更多条件。还告诉我如何一次添加多行而不是使用循环

4

2 回答 2

3

$model = new Apps();将为您的模型创建一个新对象。如果要编辑现有行,则应使用find方法获取相应的行。

$model = Apps::model()->find('id=1 and type = 2');

据我所知,如果不使用 PHP 中的任何循环,就无法插入多行。您可以做的是构建插入查询,其中包含用逗号分隔的多行并执行一次。

喜欢

INSERT INTO table1 (id,name) VALUES (1,'NAME1'),(2,'NAME2'),(3,'NAME3')
于 2013-10-25T10:18:37.323 回答
0

因为您将数组与 Active Record 对象一起使用,所以您需要对其进行 foreach 并为每个对象设置必要的数据,然后保存。你可以使用方法ActiveRecord.updateAll();

于 2013-10-25T10:59:53.707 回答