【发布时间】:2012-07-23 02:21:20
【问题描述】:
我想在MYSQL数据库中插入一个数组,最好使用Yii的活动记录。
例如,我有一个数组:
User = array(
fname => "Joe"
lname => "Schmidt"
)
在我的数据库中有一个用户表,其中包含 id、fname 和 lname 列。其中一个选项是创建一个对象并执行以下操作:
$user = new User;
$user->fname = User['fname'];
$user->lname = User['lname'];
$user->save();
但是,对于这种常见功能,这似乎是很多代码。有没有办法将数组插入到数据库中,其中数组键与相应的列匹配,而无需我编写自己的函数或进行一些 SQL 查询破解?理想情况下,它使用 Yii 已经存在的 Active 记录。
【问题讨论】:
-
您可以为此使用批量分配:
$user = new User(); $user->attributes = $data_array; if(!$user->save()) { print_r($user->errors, true); }。将数组分配给attributes属性将满足您的需求,但仅适用于那些为当前场景定义了验证规则的属性。 -
@DCoder,这是我一直在寻找的一个伟大而简洁的解决方案!如果你把它作为答案,我会接受它。