假設我今天有三個 key
status
name
sort
當我下
DB::update(
$this->dbName, [
'name' => $post['name'],
'sort' => $post['sort'],
'status' => $post['status'],
],
'id=%i',
$post['id']
)
可以順利更新
但假設同一隻API
我只給 status
其他兩個不給,「因為其他兩個不需要更新」
此時他會說:Column 'sort' cannot be null
Column 'name' cannot be null
是我本身 php 的寫法要改變,還是 meekro 有支援這種狀況?
我前端只有提交的是 status key 過來後端
那我能怎麼寫,可以使他不會因為其他 key 沒提供被阻止更新 status
?
DB::update()
This command doesn't add much value over doing an UPDATE with DB::query(), but it's here if you want it. In this example, the two commands are equivalent.
DB::update('tbl', ['age' => 25, 'height' => 10.99], "name=%s", $name);
DB::query("UPDATE tbl SET age=%i, height=%d WHERE name=%s", 25, 10.99, $name);
根據文件寫法,上面兩條是同效的語法,如果只要單純更新單一值,我覺得只傳入想更新的欄位即可
$updateArray = [] ;
if (isNameModify())
{
$updateArray[] = ['name' => '...'] ;
}
// 需要更新的再push進去 $updateArray
DB::update($this->dbName, $updateArray, 'id=%i', $post['id']) ;