搜索

创建一张图书表,并创建它的模型的,进行增删改查操作(物理删除和软删除都要有)

原创 2019-04-16 09:58:25 322
摘要:<?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还报错没有这个控制器。

ss.png

批改老师:查无此人批改时间:2019-04-16 10:05:28
老师总结:完成的不错。 SoftDelete是一个trait,你可以去看下trait类的文档介绍。继续加油。

发布手记

热门词条