thinkphp5 模型使用
2021-03-18 04:26
标签:处理 count() mil net turn eth avg select 通过 模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写。 设置数据表 模型调用 模型的初始化是重写Model的initialize 新增 也可以使用data方法批量赋值: 添加多条数据 saveAll方法新增数据默认会自动识别数据是需要新增还是更新操作,当数据中存在主键的时候会认为是更新操作; 查找并更新 直接更新数据 静态方法 或者使用: 删除模型数据,可以在实例化后调用delete方法。 或者通过数据库类的查询条件删除 查询 获取单个数据 或者在实例化模型后调用查询方法 在实例化模型后调用查询方法 聚合 获取器 获取器的作用是在获取数据的字段值后自动进行处理,例如,我们需要对状态值进行转换,可以使用: 数据表的字段会自动转换为驼峰法,一般status字段的值采用数值类型,我们可以通过获取器定义,自动转换为字符串描述。 获取器还可以定义数据表中不存在的字段,例如: 获取器方法的第二个参数传入的是当前的所有数据数组。 thinkphp5 模型使用 标签:处理 count() mil net turn eth avg select 通过 原文地址:https://www.cnblogs.com/ltl11230/p/12773478.htmlnamespace app\index\model;
use think\Model;
class User extends Model{
// 设置当前模型对应的完整数据表名称
protected $table = ‘think_user‘;
// 主键默认是自动识别的,如果需要指定
protected $pk = ‘uid‘;
}
// 实例化模型
$user = new User;
$user->name= ‘thinkphp‘;
$user->save();
// 或者使用助手函数`model`
$user = model(‘User‘);
$user->name= ‘thinkphp‘;
$user->save();
//自定义初始化
protected function initialize()
{
//需要调用`Model`的`initialize`方法
parent::initialize();
}
$user = new User;
$user->name = ‘thinkphp‘;
$user->email = ‘thinkphp@qq.com‘;
$user->save();
$user = new User;
$user->data([
‘name‘ => ‘thinkphp‘,
‘email‘ => ‘thinkphp@qq.com‘]);
$user->save();
$user = new User;
$list = [
[‘name‘=>‘thinkphp‘,‘email‘=>‘thinkphp@qq.com‘],
[‘name‘=>‘onethink‘,‘email‘=>‘onethink@qq.com‘]];
$user->saveAll($list);
$user = User::get(1);
$user->name = ‘thinkphp‘;
$user->email = ‘thinkphp@qq.com‘;
$user->save();
$user = new User;// save方法第二个参数为更新条件
$user->save([
‘name‘ => ‘thinkphp‘,
‘email‘ => ‘thinkphp@qq.com‘]
,[‘id‘ => 1]);
User::where(‘id‘, 1)
->update([‘name‘ => ‘thinkphp‘]);
User::update([‘id‘ => 1, ‘name‘ => ‘thinkphp‘]);
$user = User::get(1);
$user->delete();
User::where(‘id‘,‘>‘,10)->delete();
取出主键为1的数据
$user = User::get(1);
echo $user->name;
$user = new User();// 查询单个数据
$user->where(‘name‘, ‘thinkphp‘)
->find();
$user = new User();// 查询数据集
$user->where(‘name‘, ‘thinkphp‘)
->limit(10)
->order(‘id‘, ‘desc‘)
->select();
$user = new User;
$user->count();
$user->where(‘status‘,‘>‘,0)->count();
$user->where(‘status‘,1)->avg(‘score‘);
$user->max(‘score‘);
class User extends Model {
public function getStatusAttr($value)
{
$status = [-1=>‘删除‘,0=>‘禁用‘,1=>‘正常‘,2=>‘待审核‘];
return $status[$value];
}}
class User extends Model {
public function getStatusTextAttr($value,$data)
{
$status = [-1=>‘删除‘,0=>‘禁用‘,1=>‘正常‘,2=>‘待审核‘];
return $status[$data[‘status‘]];
}}
下一篇:关于Css的定位的一些总结