2017-09-22 74 views
0

我用這個功能ORM表更新一行:如何更新行和返回ID?

$client = Client::where("unique_code", $this->unique_code)->whereHas('types', function ($query) { 
    $query->where("type", $this->type); 
})->update(["status" => 1]); 

如何返回更新的行id

回答

2

首先你使用的不是ORM而是QueryBuilder。

您應該將查詢結果分配給一個變量,處理更新然後訪問該id。

$client = Client::where("unique_code", $this->unique_code) 
    ->whereHas('types', function ($query) { 
     $query->where("type", $this->type); 
    })->first(); 

$client->update(["status" => 1]); 
$client->id; // to get the id 
+0

呼叫到空 – OPV

+1

一個成員函數的update(),這意味着沒有記錄已在數據庫中找到與您的where子句 – Disfigure

+1

您可以通過客戶端如果在更新之前設置檢查防止錯誤。 – GoogleMac