亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

完成創(chuàng)建一張圖書表,并創(chuàng)建它的模型,進(jìn)行用模型方法對(duì)數(shù)據(jù)庫進(jìn)行操作

原創(chuàng) 2019-06-20 00:06:39 503
摘要:<?php /**  * Created by PhpStorm.  * User: 普通用戶  * Date: 2019/6/18  * Time: 21:25  */ namespace app\index\controller; use
<?php
/**
 * Created by PhpStorm.
 * User: 普通用戶
 * Date: 2019/6/18
 * Time: 21:25
 */

namespace app\index\controller;
use think\Controller;
use app\index\model\Book as BookModel;
class book extends Controller
{
//    模型實(shí)例化
    public function instance(BookModel $book)
    {
       $book->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);

//        返回值可以用數(shù)組或?qū)ο蠓绞将@取
        echo '以數(shù)組方式查詢書名: '.$book['name'].'<br>';
        echo '以對(duì)象方式查詢書名:'.$book->name;

//        用閉包方式查詢
        $book = BookModel::get(function ($query){
            $query->where('price','>','100')->where('id','>','1');
        });
        echo '<hr>'.'書本價(jià)格大于100元的記錄(單條):'.'<br>';
        dump($book);

//      用PD類的查詢構(gòu)造器來進(jìn)行查詢
        echo '價(jià)格少于10元的書本:','<br>';
        $book = BookModel::field('name,price')
            ->where('price','<',10)
            ->find();
        dump($book);
        echo '<hr>';


//        查詢多條記錄:
        echo '顯示所了數(shù)據(jù):';
        $book=BookModel::all();
        dump($book);
        echo  '<hr>';

//        顯示主鍵=1,2的記錄
        $book=BookModel::all([1,2]);
        dump($book);
        echo '<hr>';

       $book=BookModel::all(function ($query){
           $query->where('price','>',10);
       });
       echo '書本價(jià)格大于10元的記錄:';
       dump($book);
       echo '<hr>';

       echo '以下書本價(jià)格大于10玩的記錄以遍歷方式顯示輸出'.'<br>';
       foreach ($book as $books){
           echo '書本Id:'.$books->id.'<br>';
           echo '書本名:'.$books->name.'<br>';
           echo '書本價(jià)格:'.$books->price.'<br>';
           echo '<hr>';
       }

       echo '用請(qǐng)求對(duì)象對(duì)數(shù)據(jù)庫查詢','<br>';
       $price = $this->request->param('price')?:10;
       $book = BookModel::all(function ($query) use($price){
           $query->where('price','>',$price);
       });
       dump($book);

    }

//    模型修改數(shù)據(jù)庫
    public function update()
    {
//        對(duì)單一記錄的賦值修改
        $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構(gòu)造器更新數(shù)據(jù)
        BookModel::where('price','<100',100)
            ->data(['price'=>\think\Db::raw('price+2')])
            ->update();
    }

    public function create()
    {
//        1.用save()方法添加一條記錄
//        2.用靜態(tài)方法完成添加數(shù)據(jù)
        $data=[
           'name'=>'java',
            'author'=>'java',
            'price'=>120,
            'publish'=>'1557149944'
        ];

        $field = ['name','author','price','publish'];
        BookModel::create($data,$field);
//        用構(gòu)造器添加數(shù)據(jù)據(jù)
        BookModel::insert($data);
    }

//    模型刪除數(shù)據(jù)
    public function delect()
    {
//    直接刪除主鍵
        BookModel::destroy(21);
        BookModel::destroy([22,23]);

//        用閉包刪除數(shù)據(jù)
        BookModel::destroy(function ($query){
           $query->where('price',120);
        });

//        用Db構(gòu)造器刪除數(shù)據(jù):
        BookModel::where('price','<',80)
            ->where('price','>',10)
            ->delete();
    }

//    軟刪除:
public function softDelete()
{
//    軟刪除操作
    BookModel::destroy(2);

//    正常查詢時(shí)不默認(rèn)不顯示被軟刪除過的數(shù)據(jù)
   $book= BookModel::where('id','<',10)
        ->select();
    dump($book);

    echo '<hr>';
    $book = BookModel::withTrashed()->where('id','<',10)
        ->select();
    dump($book);

    echo '<hr>';
    $book = BookModel::onlyTrashed()->select();
    dump($book);
    }
}
<?php
/**
 * Created by PhpStorm.
 * User: 普通用戶
 * Date: 2019/6/18
 * Time: 21:24
 */

namespace app\index\model;
use think\Model;
use think\model\concern\SoftDelete;
class Book extends Model
{
    use SoftDelete;
    protected $table = 'book';
    protected $pk = 'id';
    protected $deleteTime='delete_time';
    protected $defaultSoftDelete=0;
}


經(jīng)過多日的反復(fù)練習(xí),對(duì)tp5的框架配置,模型,控制器,等概念有了初步的掌握,對(duì)后續(xù)學(xué)習(xí)tp5.1不再束手無策啦。本案例對(duì)模型中對(duì)應(yīng)數(shù)據(jù)表時(shí)要設(shè)置需要的屬性,否則無法正常使用

use SoftDelete;
protected $table = 'book';
protected $pk = 'id';
protected $deleteTime='delete_time';
protected $defaultSoftDelete=0;

軟刪除添加字段時(shí)要設(shè)置好默認(rèn)值,以便運(yùn)算查詢。

2019-06-20_000244.jpg

批改老師:查無此人批改時(shí)間:2019-06-20 09:50:12
老師總結(jié):完成的不錯(cuò)。學(xué)習(xí)就是找到學(xué)習(xí)的方法。繼續(xù)加油。

發(fā)佈手記

熱門詞條