abstract:name='Word、Excel、PPT2016从入门到精通'; $book->author='刘德胜'; $book->price='9.99'; $book->publish=strtotime(date(2017-05-01)); $book->save(); return '新增成功,Id='.$book->id; } // 模型的查询操作 public function query() { // 单条记录查询,用get(主键ID) $book = BookModel::get(10); dump($book); // 返回值可以用数组或对象方式获取 echo '以数组方式查询书名: '.$book['name'].'
'; echo '以对象方式查询书名:'.$book->name; // 用闭包方式查询 $book = BookModel::get(function ($query){ $query->where('price','>','100')->where('id','>','1'); }); echo '
'.'书本价格大于100元的记录(单条):'.'
'; dump($book); // 用PD类的查询构造器来进行查询 echo '价格少于10元的书本:','
'; $book = BookModel::field('name,price') ->where('price','<',10) ->find(); dump($book); echo '
'; // 查询多条记录: echo '显示所了数据:'; $book=BookModel::all(); dump($book); echo '
'; // 显示主键=1,2的记录 $book=BookModel::all([1,2]); dump($book); echo '
'; $book=BookModel::all(function ($query){ $query->where('price','>',10); }); echo '书本价格大于10元的记录:'; dump($book); echo '
'; echo '以下书本价格大于10玩的记录以遍历方式显示输出'.'
'; foreach ($book as $books){ echo '书本Id:'.$books->id.'
'; echo '书本名:'.$books->name.'
'; echo '书本价格:'.$books->price.'
'; echo '
'; } echo '用请求对象对数据库查询','
'; $price = $this->request->param('price')?:10; $book = BookModel::all(function ($query) use($price){ $query->where('price','>',$price); }); dump($book); } // 模型修改数据库 public function update() { // 对单一记录的赋值修改 $book = BookModel::get(10); $book->price = 200; $book->save(); // 用update方法修改 BookModel::update( ['price'=>150], ['id'=>10] ); // 用闭包方式修改记录 BookModel::update( ['price'=>\think\Db::raw('price+5')], function ($query){ $query->where('price','>','10')->where('price','<','200'); } ); // 用Db构造器更新数据 BookModel::where('price','<100',100) ->data(['price'=>\think\Db::raw('price+2')]) ->update(); } public function create() { // 1.用save()方法添加一条记录 // 2.用静态方法完成添加数据 $data=[ 'name'=>'java', 'author'=>'java', 'price'=>120, 'publish'=>'1557149944' ]; $field = ['name','author','price','publish']; BookModel::create($data,$field); // 用构造器添加数据据 BookModel::insert($data); } // 模型删除数据 public function delect() { // 直接删除主键 BookModel::destroy(21); BookModel::destroy([22,23]); // 用闭包删除数据 BookModel::destroy(function ($query){ $query->where('price',120); }); // 用Db构造器删除数据: BookModel::where('price','<',80) ->where('price','>',10) ->delete(); } // 软删除: public function softDelete() { // 软删除操作 BookModel::destroy(2); // 正常查询时不默认不显示被软删除过的数据 $book= BookModel::where('id','<',10) ->select(); dump($book); echo '
'; $book = BookModel::withTrashed()->where('id','<',10) ->select(); dump($book); echo '
'; $book = BookModel::onlyTrashed()->select(); dump($book); } }
经过多日的反复练习,对tp5的框架配置,模型,控制器,等概念有了初步的掌握,对后续学习tp5.1不再束手无策啦。本案例对模型中对应数据表时要设置需要的属性,否则无法正常使用
use SoftDelete;
protected $table = 'book';
protected $pk = 'id';
protected $deleteTime='delete_time';
protected $defaultSoftDelete=0;软删除添加字段时要设置好默认值,以便运算查询。
Correcting teacher:查无此人Correction time:2019-06-20 09:50:12
Teacher's summary:完成的不错。学习就是找到学习的方法。继续加油。