數據模型的增刪改查

一、查詢操作
1、單條數據

            // get方法

    // 使用數字
    $res=User::get(1); // 默認主鍵
    // 使用數組
    $res=User::get(["name"=>'yzmedu3']);  // 默認查找用戶名

    // 使用閉包函數
    $res=User::get(function($query){
    $query->where("id",15);
    });
        // find方法
    $res=User::where("id",13)->find();

2、查詢多條數據
            // all
    // 所有數據
    $res=User::all();

    // 字符串
    $res=User::all("1,2,3");

    // 數組
    $res=User::all([5,6,7]);

    // 數組
    $res=User::all(['pass'=>'123']);

    // 閉包
    $res=User::all(function($query){
    $query->where("pass","123")
    ->whereOr("pass","456")
    ->order("id","desc");
    });

            // select 和 all 基本類似
$res=User::select();
$res=User::limit(2)->select();

3、獲取某個字段和某列值
// 獲取某個值

$res=User::where("id",5)->value("name");

// 獲取某列值
$res=User::column("name","id");

4、動態查詢
// 查詢出匹配到的第一條數據
// getBy字段名
$res=User::getByAge('44');
dump($res->toArray());

二、增加操作
 
1、設置屬性
$user=new User();
            $user->name="yzmedu21";
            $user->pass="abc";
            $user->age=18;
            // 返回影響行數
            $user->save();

    2、通過data方法
$user=new User();

$user->data([
"name"=>"yzmedu22",
"age"=>"22",
"pass"=>"qwe",
]);

            // 返回影響行數
            $user->save();

    3、實例化時

$user=new User([
"name"=>"yzmedu23",
"pass"=>'zxc',
"age"=>20
]);
// 返回影響行數

$user->save();

// allowField 屏蔽掉數據庫中不存在的字段
            $user->allowField(true)->save();
            // 指定插入數據庫的字段
            $user->allowField(['name','age'])->save();

    4、獲取自增的ID
            // 獲取插入數據ID
            echo $user->id;

    5、增加多條數據
            $user=new User();
            $list=[
            ['name'=>"yzmedu33","age"=>33],
            ['name'=>"yzmedu34","age"=>34]
             ];

            $user->saveAll($list);

    6、create方法
            $user=User::create([
            "name"=>"yzmedu35",
            "age"=>35
    ]);

三、刪除操作

        // $user=User::get(1);
        // 返回影響行數
        // dump($user->delete());

        // 刪除主鍵2
        $user=User::destroy(2);

        // 刪除主鍵3,4,5
        $user=User::destroy("3,4,5");
        $user=User::destroy([6,7,8]);

        // 刪除name
        $user=User::destroy(['name'=>"zhangsan"]);

        // 刪除多個條件
        $user=User::destroy(['name'=>'zhangsan','age'=>33]);

        // 使用閉包
        $user=User::destroy(function($query){
            $query->where("id","<","15");
        });
        
        // 刪除數據
        $user=User::where("id",">","19")->delete();
        dump($user);


四、修改操作

    // 設置字段更新數據
    $user=User::get(15);
    $user->age=19;
    $res=$user->save();

    // 直接數組修改
        $user=new User;
    
        $res=$user->save(
            [
                "pass"=>"qweasd",
                "age"=>16,          

            ],["id"=>16]);

    // 修改數據
        $_POST['name']="yzmedu55";
        $_POST['pass']="pass55";
        $_POST['age']="55";
        $_POST['sex']="nan";
        $_POST['id']=17;

        $user=new User;

        $res=$user->allowField(['name','pass','age'])->save($_POST,['id'=>17]);


    // 批量更新
        $data=[
            ['id'=>15,'name'=>"abc",'pass'=>456],
            ['id'=>17,'name'=>"abc",'pass'=>456],
        ];

        $user=new User;
        $res=$user->saveAll($data);
        echo User::getLastSql();

        // 更新操作
        $user=new User;
        $res=$user->where("id",'>','17')->update(['age'=>18]);
        $res=User::where("id","<","18")->update(['pass'=>'zxc']);

        // 閉包更新數據
        $user=new User;
        $res=$user->save(['name'=>'yunzhimeng'],function($query){
            $query->where("id","15");

        });


發佈了55 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章