限制传入数据类型和数据信息
不要忘记引入:use think\facade\Request;
use think\facade\Request;
$data = Request::only(['name','email','id']);
$data['id'] = $this->request->get('id/d');
$data['id'] = $this->request->get('sexy/d',1);//设置默认为1
强制转换符号 d(数字) b(布尔) s(字符串) a(数组) f(浮点)
标识符 | 描述 | 示例 |
---|---|---|
/s | 字符串类型转换 | $this->request->get('param/s') |
/a | 数组类型转换 | $this->request->get('param/a') |
/b | 布尔类型转换 | $this->request->get('param/b') |
/f | 浮点类型转换 | $this->request->get('param/f') |
/int | 整型转换(等同于 /d ) | $this->request->get('param/int') |
/bool 或 /boolean | 布尔类型转换 | $this->request->get('param/bool') 或 $this->request->get('param/boolean') |
save 插入信息 输入 $_POST
$user = new User;
// post数组中只有name和email字段会写入
$user->allowField(['name','email'])->save($_POST);
//或者
$user = new User;
// 过滤post数组中的非数据表字段数据
$data = Request::only(['name','email']);
$user->save($data);
// 获取自增ID
echo $user->user_id;
多个条目插入 saveAll()
$user = new User;
$list = [
['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);
CREATE静态
$user = User::create([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
]);
echo $user->name;
echo $user->email;
echo $user->id; // 获取自增ID
更新 SAVE 需要主键,使用数组限制allowField来更新
$user = new User;
$list = [
['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);
$user = new User;
$list = [
['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
];
$user->saveAll($list);
#使用allowField来更新
$user->allowField(['name', 'email'])->save($_POST);
#传入前过滤,在控制器里面设置
$user = User::find(1);
// post数组中只有name和email字段会写入
$data = Request::only(['name','email']);
# $data为传入只保留name和email
$user->save($data);
UPDATE静态更新 不会更新update_time 需要主键
User::update(['name' => 'thinkphp'], ['id' => 1]);