thinkphp5.1模型插入数据,插入数据之前并且使用validate处理验证,插入的数据在数据表中实现时间字段自动写入,在index模块中新建model/User模型,validate中新建User验证规则和提示信息,返回json格式给前端。
thinkphp5.1模型插入数据,插入数据之前并且使用validate处理验证,插入的数据在数据表中实现时间字段自动写入,在index模块中新建model/User模型,validate/user中新建User验证规则和提示信息,返回json格式给前端。
database.php中做好全局自动时间戳配置:
// 自动写入时间戳字段
'auto_timestamp' => true,
在控制器中实现的代码案例如下:
<?php
namespace app\index\controller;
use think\Controller;
use app\index\model\User;
class Users extends Controller
{
public function add()
{
$res = $this->validate($this->request->post(),'app\index\validate\user\User');
if ($res !== true){
$this->result([], 1, $res, 'json');
}
$result = (new User)->insert($this->request->post());
if ($result) {
$this->result([], 0, '成功', 'json');
} else {
$this->result([], 1, '失败', 'json');
}
}
}
index模块中model/User.php案例代码:
<?php
namespace app\index\model;
use think\Model;
class User extends Model
{
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
// 插入数据
public function insert($data)
{
return $this->save($data);
}
}
validate/user中新建User验证规则和提示信息代码:
<?php
namespace app\index\validate\user;
use think\Validate;
class User extends Validate
{
protected $rule = [
'username' => 'require|unique:user|max:32',
'mobile' => 'require|mobile',
'password' => 'require|alphaNum|max:12',
];
protected $message = [
'username.require' => '账号不能为空',
'username.unique' => '账号被占用,换一个呗',
'mobile.require' => '请输入手机号',
'mobile.mobile' => '手机号码错误',
'password.require' => '请输入密码',
'password.alphaNum'=> '密码只能为字母和数字',
];
}
数据新增成功提示信息:
{
"code": 0,
"msg": "成功",
"time": 1609072191,
"data": []
}
如果数据表中的username已存在信息提示:
{
"code": 1,
"msg": "账号被占用,换一个呗",
"time": 1609073336,
"data": []
}
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
0 条评论