thinkphp6資料庫操作方法返回值記錄
阿新 • • 發佈:2021-10-11
save
返回
save方法成功返回true
,
並且只有當before_insert事件返回false的時候返回false,一旦有錯誤就會丟擲異常。所以無需判斷返回型別。
過濾欄位
save()
前使用allowField()
方法
$user = new User;
// post陣列中只有name和email欄位會寫入
$user->allowField(['name','email'])->save($_POST);
建議在引數接收的時候就用Request
請求物件直接過濾
$user = new User; // 過濾post陣列中的非資料表字段資料 $data = Request::only(['name','email']); $user->save($data);
replace寫入
save()
前使用replace()
方法
$user = new User;
$user->name = 'thinkphp';
$user->email = '[email protected]';
$user->replace()->save();
saveAll
批量新增,如果資料中存在主鍵的時候會認為是更新操作
$user = new User; $list = [ ['name'=>'thinkphp','email'=>'[email protected]'], ['name'=>'onethink','email'=>'[email protected]'] ]; $user->saveAll($list);
返回
saveAll方法新增資料返回的是包含新增模型(帶自增ID)的資料集物件。
create
返回
和save方法不同的是,create
方法返回的是當前模型的物件例項
過濾欄位
過濾欄位,給create
傳遞第二個引數
$user = User::create([
'name' => 'thinkphp',
'email' => '[email protected]'
], ['name', 'email']);
replace寫入
給create
方法傳遞第三個引數
$user = User::create([ 'name' => 'thinkphp', 'email' => '[email protected]' ], ['name','email'], true);