TP框架對數據庫的操做

1.添加數據php

      1.1添加一條數據thinkphp

$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
$user = new User;
$user->save([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);

 

         1.2過濾非數據表字段的數據數組

$user = new User;
// 過濾post數組中的非數據表字段數據
$user->allowField(true)->save($_POST);

         1.3指定某些字段數據post

$user = new User;
// post數組中只有name和email字段會寫入
$user->allowField(['name','email'])->save($_POST);

           1.4添加多條數據spa

$user = new User;
$list = [
    ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
    ['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);

 

            1.5靜態方法 code

$user = User::create([
    'name'  =>  'thinkphp',
    'email' =>  'thinkphp@qq.com'
]);
echo $user->name;
echo $user->email;
echo $user->id; // 獲取自增ID

 

2.更新數據blog

          2.1查找並更新索引

$user = User::get(1);
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();

             2.2直接更新數據get

$user = new User;
// save方法第二個參數爲更新條件
$user->save([
    'name'  => 'thinkphp',
    'email' => 'thinkphp@qq.com'
],['id' => 1]);

             2.3 過濾非數據表字段it

$user = new User;
// 過濾post數組中的非數據表字段數據
$user->allowField(true)->save($_POST,['id' => 1]);

              2.4指定某些字段

$user = new User();
// post數組中只有name和email字段會寫入
$user->allowField(['name','email'])->save($_POST, ['id' => 1]);

            2.5批量更新數據

$user = new User;
$list = [
    ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
    ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']
];
$user->saveAll($list);

                2.6靜態方法

User::where('id', 1)
    ->update(['name' => 'thinkphp']);

 

               2.7自動識別

            2.7.1顯示更新數據

// 實例化模型
$user = new User;
// 顯式指定更新數據操做
$user->isUpdate(true)
    ->save(['id' => 1, 'name' => 'thinkphp']);

                2.7.2顯示新增數據

$user = User::get(1);
$user->name = 'thinkphp';
// 顯式指定當前操做爲新增操做
$user->isUpdate(false)->save();

3.刪除數據

            3.1刪除當前模型

 

$user = User::get(1);
$user->delete();

 

                3.2根據主鍵刪除

User::destroy(1);
// 支持批量刪除多個數據
User::destroy('1,2,3');
// 或者
User::destroy([1,2,3]);

                 3.3條件刪除

User::destroy(function($query){
    $query->where('id','>',10);
});

 

4.查詢數據

              4.1獲取單個數據

 

// 取出主鍵爲1的數據
$user = User::get(1);
echo $user->name;

// 使用查詢構造器查詢知足條件的數據
$user = User::where('name', 'thinkphp')->find();
echo $user->name;

 

                 4.2獲取多個數據

// 根據主鍵獲取多個數據
$list = User::all('1,2,3');
// 或者使用數組
$list = User::all([1,2,3]);
// 對數據集進行遍歷操做
foreach($list as $key=>$user){
    echo $user->name;
}
// 使用查詢構造器查詢
$list = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
foreach($list as $key=>$user){
    echo $user->name;
}

              4.3獲取某個字段或者某個列的值

// 獲取某個用戶的積分
User::where('id',10)->value('score');
// 獲取某個列的全部值
User::where('status',1)->column('name');
// 以id爲索引
User::where('status',1)->column('name','id');
相關文章
相關標籤/搜索