Fangcms系统批量增加数据,支持批量新增,可以使用:
$user = new User;
$list = [
['name'=>'fangcms','email'=>'fangcms@qq.com'],
['name'=>'房产网站系统','email'=>'zhuizhan@qq.com']
];
$user->saveAll($list);
saveAll方法新增数据返回的是包含新增模型(带自增ID)的数据集对象。
saveAll方法新增数据默认会自动识别数据是需要新增还是更新操作,当数据中存在主键的时候会认为是更新操作。
静态方法
还可以直接静态调用create方法创建并写入:
$user = User::create([
'name' => 'fangcms',
'email' => 'fangcms@qq.com'
]);
echo $user->name;
echo $user->email;
echo $user->id; // 获取自增ID
和save方法不同的是,create方法返回的是当前模型的对象实例。
create方法默认会过滤不是数据表的字段信息,可以在第二个参数可以传入允许写入的字段列表,例如:
//只允许写入name和email字段的数据
$user = User::create([
'name' => 'fangcms',
'email' => 'fangcms@qq.com'
], ['name', 'email']);
echo $user->name;
echo $user->email;
echo $user->id; // 获取自增ID
支持replace操作,使用下面的方法:
$user = User::create([
'name' => 'fangcms',
'email' => 'fangcms@qq.com'
], ['name','email'], true);
最佳实践
新增数据的最佳实践原则:使用create方法新增数据,使用saveAll批量新增数据。