2016-12-16 79 views
1

我正在使用ajax發佈數據到控制器,我需要更新記錄基於我通過的ID。我將如何用Laravel雄辯去解決這個問題?這裏是控制器...我知道數據正在傳遞給控制器​​,只是不知道如何根據我發送的ID進行更新。感謝您的幫助。AJAX向控制器發送數據,我如何更新正確的ID?

public function home(Request $request) { 

$updateCus = New Customer($request->all()); 
$updateCus->update()->where('id', $request['id']); 

} 
+0

提到你打算什麼欄目更新 – Sona

回答

3

正確的語法是:

Customer::where('id', $request->id)->update([ 
    'name' => $request->name, 
    'country' => $request->country, 
]); 

或者,如果要更新多列:如果你想更新記錄

Customer::where('id', $request->id)->update($request->all()); 
+1

要添加到這一點,要知道你的模型的'$ guarded'或'$ fillable'屬性,這可能會阻止您從更新一些領域的大規模任務。 –

0

,必須從數據庫中獲取它第一。相反,您正在創建一個新客戶。你應該做這樣的事情:

public function home(Request $request) { 
    $customer = Customer::where('id', $request['id'])->first(); 
    if ($customer) { 
     $customer->field1 = $request['field1']; 
     //... update the fields you want to 
     $customer->save(); 
    } else { 
     //user not found... 
    } 
} 
0
public function home(Request $request){ 
$id=$request->id; 
$update=\DB:"table('tablename')->update(['columnname'=>$columname])->where('id',$id); 
} 
+1

通常建議您添加更多關於代碼的上下文/解釋(而不僅僅是僅有代碼的答案),因爲這會使答案更有用。 – EJoshuaS

+0

雖然此代碼片段可能會解決問題,但它並不能解釋爲什麼或如何回答問題。請[請提供您的代碼解釋](// meta.stackexchange.com/q/114762/269535),因爲這確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 **舉報人/評論者:** [僅限代碼解答,例如downvote,請勿刪除!](// meta.stackoverflow.com/a/260413/2747593) –

相關問題