0
내가 여기서 뭘 잘못하고있어?ELOQUENT를 사용하여 save db()를 업데이트하십시오.
public static function updateuserdetails(){
$user_id_update_user_details = Input::get();
// find the user to update :
$user = User::where('user_id' , '=', $user_id_update_user_details['user_id'])->first() ;
foreach ($user_id_update_user_details as $key => $value) {
$user->$key = $value ;
}
$affected = $user->save();
return $affected ;
}
데이터를 데이터베이스에 저장하지 않습니다. 모든 열에서 업데이트가 필요할지 모르기 때문에 "foreach"루프를 사용해야합니다.
속성을 살펴보고 속성을 설정하기 전에 사용자 레코드가 '$ user'에 있는지 확실합니까? 또한 단일 레코드 만 필요하기 때문에'User :: find ($ user_id_update_user_details [ 'user_id'])'를 사용할 수 있습니다. –
나는 심각한 보안 문제가 있기 때문에 솔직히 foreach를하지 않을 것이다. 모델에서 접근 가능한 속성을 정의하고 [mass assign] (http://laravel.com/docs/database/eloquent#mass-assignment) 입력을 선택하거나 각각을 수동으로 선택해야합니다. 또한, 당신이'where ('id')'또는'find ($ id)'가 아닌'where ('user_id')'를 쿼리하고 싶다고 생각합니다. – vFragosop