传智黑马PHP69期-第7部分ThinkPhp-第2天TP-23_模型定义与模型设置

第7部分 ThinkPhp

第2天 TP

23_模型定义与模型设置

模型定义与模型设置

php think make:model 模块名/模型名(首字母大写)

# 非必须
protected $pk = 'uid'; # 设置主键名称
protected $table = 'think_user'; #设置当前模型对应的完整数据表名称

添加数据

# 添加一条数据
# 方法1
$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
# 方法2
$user = new User;
$user->save([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save($_POST);
$user->allowField([要插入的字段,要插入的字段])->save($_POST);
# 方法3
$user = User::create([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
echo $user->name;
# 添加多条记录
$user = new User;
$list = [
    ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
    ['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);

更新数据

# 方法1
$user = User::get(1);  find
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();

# 方法2
$user = new User;
// save方法第二个参数为更新条件
$user->save([
    'name'  => 'thinkphp',
    'email' => 'thinkphp@qq.com'
],['id' => 1]);

$user = new User;
// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save($_POST,['id' => 1]);

# 方法3
User::where('id', 1)->update(['name' => 'thinkphp']);

删除数据

# 方法1
$user = User::get(1);
$user->delete();

# 方法2
User::destroy(1);
User::destroy([1,2,3]);

软删除

在实际项目中,对数据频繁使用删除操作会导致性能问题,软删除的作用就是把数据加上删除标记,而不是真正的删除,同时也便于需要的时候进行数据的恢复。 

查询数据

# 查询单条记录
$user = User::where('name', 'thinkphp')->find();
# 查询多条记录
$list = User::where('status', 1)->limit(3)->order('id', 'asc')->select();

# 获取某个字段或者某个列的值
// 获取某个用户的积分
User::where('id',10)->value('score');
// 获取某个列的所有值
User::where('status',1)->column('name');

# 动态查询
// 根据name字段查询用户
$user = User::getByName('thinkphp');

 

posted on 2020-02-22 15:23  herisson_pan  阅读(9)  评论(0)    收藏  举报

导航