首页>帮助中心>开发教程

FangCms 添加一条数据

来源:2022-11-18 08:58:50 454人浏览

新添加代码:

$user         = new User;
$user->name     = 'fangcms';
$user->email    = 'fangcms@qq.com';
$user->save();


save方法成功会返回true,并且只有当before_insert事件返回false的时候返回false,一旦有错误就会抛出异常。所以无需判断返回类型。


也可以直接传入数据到save方法批量赋值:

$user = new User;
$user->save([
    'name'  =>  'fangcms',
    'email' =>  'fangcms@qq.com']

       );

默认只会写入数据表已有的字段,如果你通过外部提交赋值给模型,并且希望指定某些字段写入,可以使用:

$user = new User;
// post数组中只有name和email字段会写入
$user->allowField(['name','email'])->save($_POST);


最佳的建议是模型数据赋值之前就进行数据过滤,例如:


$user = new User;
// 过滤post数组中的非数据表字段数据
$data = Request::only(['name','email']);
$user->save($data);

save方法新增数据返回的是写入的记录数(通常是1),而不是自增主键值。


Replace写入

save方法可以支持replace写入。

$user           = new User;
$user->name     = 'fangcms';
$user->email    = 'fangcms@qq.com';
$user->replace()->save();


获取自增ID

如果要获取新增数据的自增ID,可以使用下面的方式:

$user           = new User;
$user->name     = 'fangcms';
$user->email    = 'fangcms@qq.com';
$user->save();
// 获取自增ID
echo $user->id;

这里其实是获取模型的主键,如果你的主键不是id,而是user_id的话,其实获取自增ID就变成这样:

$user           = new User;
$user->name     = 'fangcms';
$user->email    = 'fangcms@qq.com';
$user->save();
// 获取自增ID
echo $user->user_id;

不要在同一个实例里面多次新增数据,如果确实需要多次新增,可以使用后面的静态方法处理。

454人浏览
推荐内容