Mac_ThinkPHP_增刪改查(ThinkPHP語法)

ThinkPHP 添加的語法

方式一:

        //ThinkPHP插入數據 單條 帶表前綴 插入成功後 返回行數
        $data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'aaaaaa'];
        $ret = Db::table("tp_articles")->insert($data);
        dump($ret);

方式二:

        //ThinkPHP插入數據 單條 不帶表前綴 插入成功後 返回行數
        $data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'aaaaaa'];
        $ret = Db::name("articles")->insert($data);
        dump($ret);

方式三:

        //ThinkPHP插入數據 單條 不帶表前綴 插入成功後 返回成功行數的ID
        $data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'aaaaaa'];
        $ret = db("articles")->insertGetId($data);
        dump($ret);

 

ThinkPHP修改語法

方式一:

        $data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'bbbbbb'];
        $ret = db("articles")->where("id",223)->update($data);
        dump($ret);

 方式二:

        $data = ['title' => '我是標題111', 'desn' => '我是描述','body'=>'cccccc'];
        $ret = db("articles")->where("id","=",223)->update($data);
        dump($ret);

方式三:

        $data = ["id" => 223,'title' => '我是標題111', 'desn' => '我是描述','body'=>'dddddd'];
        $ret = db("articles")->update($data);
        dump($ret);

實現統計瀏覽量:

        //修改 實現頁面瀏覽量
        $ret = db("articles")->where("id",223)->update([
            "click" => Db::raw("click+1")
        ]);
        dump($ret);

 

ThinkPHP刪除

刪除一條語句

$ret = db::table("tp_articles")->delete(223);

刪除多條語句

        $ret = db::table("tp_articles")->delete([221,219,218]);

 

# 查詢一條數據

db('user')->find(主鍵ID);

Db::name('user')->where('id',1)->find();

# 如果希望在沒有找到數據後拋出異常可以使用

Db::name('user')->where('id',1)->findOrFail();

 

# 查詢多條記錄

Db::name('user')->where('status',1)->select();

# 如果希望在沒有找到數據後拋出異常可以使用

Db::name('user')->where('status',1)->selectOrFail();

 

# 查詢某個字段的值可以用

Db::name('user')->where('id',1)->value('name');

 

# 查詢某一列的值可以用

Db::name('user')->where('id',1)->column('name');

 

# 排序並獲取指定記錄條數

Db::name('user')->order('id', 'desc')->limit(0,10)->select();

 

# 聚合查詢

Db::name('user')->count();

Db::name('user')->max('score');

Db::name('user')->where('score', '>', 0)->min('score');

Db::name('user')->avg('score');

Db::name('user')->where('id',10)->sum('score');

 

# 批量(字段)查詢

$map = [

        ['name', 'like', 'thinkphp%'],

        ['title', 'like', '%thinkphp'],

        ['id', '>', 0],

    ];

Db::table('think_user')

    ->where([ $map ])

    ->where('status',1)

->select();

 

# 閉包查詢

$name = 'thinkphp';

$id = 10;

Db::table('think_user')->where(function ($query) use($name, $id) {

    $query->where('name', $name)->whereOr('id', '>', $id);

})->select();

SELECT * FROM `think_user` WHERE ( `name` = 'thinkphp' OR `id` > 10 )

 

# 獲取器 5.1.20之後纔有

Db::name('user')->withAttr('name', function($value, $data) {

return strtolower($value);

})->select();

上面的代碼,查詢的數據集數據中的name字段的值會統一進行小寫轉換

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章