摘要:<?php namespace app\index\controller; use think\Db; use think\Controller; use app\index\model\UserInfo as UserInfoModel; class UserInfo extends Control
<?php namespace app\index\controller; use think\Db; use think\Controller; use app\index\model\UserInfo as UserInfoModel; class UserInfo extends Controller { // 通过依赖注入实例化 public function getIns(UserInfoModel $userInfoModel) { dump($userInfoModel->getName()); $userInfoModel->name = '风清扬'; $userInfoModel->skill = '传授令狐冲独孤九剑'; $userInfoModel->password = sha1('123456'); $userInfoModel->save(); return '添加数据的id:'.$userInfoModel->user_id; } public function get() { // 调用模型get $res = UserInfoModel::get(9); dump($res->name.' and '.$res->skill); // 闭包实现复杂条件查询 $res1 = UserInfoModel::get(function($query){ $query->where('age','<',40)->where('status = 1'); }); dump($res1); // 直接使用Db类 UserInfoModel = Db::table('user_info'); $result = UserInfoModel::field('user_id,name,skill')->where('status = 0')->find(); dump($result); } public function getAll() { $res = UserInfoModel::all(function($query){ $query->field('name,skill')->where('skill','like','嵩山派%'); }); dump($res); foreach($res as $key => $value){ echo $key.' ----- '.$value.'<br>'; } foreach($res as $key => $value){ echo $value->name.' ---- '.$value->skill.'<br>'; } } public function getRequest() { $age = $this->request->param('age')? :40; $name = $this->request->param('name')? :'左冷禅%'; $res = UserInfoModel::all(function($query) use ($age,$name){ $query->field('name,age,skill')->where('age','<',$age)->where('name','like',$name.'%'); }); dump($res); } public function update() { // 使用闭包 $res = UserInfoModel::update(['age' => \think\Db::raw('age + 10 ')],function($query){ $query->where('age','>',50); }); dump($res); // 使用构造器函数 $res2 = UserInfoModel::where('age > 50')->data(['age' => Db::raw('age + 10')])->update(); dump($res); } public function create() { $data = [ 'name' => '仪琳师妹', 'age' => 18, 'skill' => '恒山派弟子', 'password' => sha1(123456), ]; $fields = ['name','age','skill','password']; $res = UserInfoModel::create($data,$fields); dump($res); // 通过构造器添加 $data2 = [ 'name' => '仪琳师妹2', 'age' => 18, 'skill' => '恒山派弟子', 'password' => sha1(123456), ]; $res2 = UserInfoModel::insert($data2); } public function destroy() { // 使用闭包 $res = UserInfoModel::destroy(function($query){ $query->where('user_id = 23'); }); dump($res); // 使用构造器删除 $res2 = UserInfoModel::where('user_id = 22')->delete(); dump($res2); } public function softDelete() { $res = UserInfoModel::destroy(function($query){ $query->where('user_id','=',24); }); dump($res); echo('<hr>'); $res2 = UserInfoModel::field('name,skill')->select(); dump($res2); echo ('<hr>'); $res3 = UserInfoModel::withTrashed()->select(); dump($res3); $res4 = UserInfoModel::onlyTrashed()->select(); dump($res4); echo '<hr>'; } }
老师我有问题:为什么在Model模型里面,我use think\model\concern\SoftDelete; 在类的里面还要use SoftDelete;两个use SoftDelete,最开始我类里面没有use还报错没有这个控制器。
批改老师:查无此人批改时间:2019-04-16 10:05:28
老师总结:完成的不错。 SoftDelete是一个trait,你可以去看下trait类的文档介绍。继续加油。