2016-04-04 2 views
-1

При попытке изменить статус пользователя я столкнулся с этой проблемой. в маршруте:Аргумент 2, переданный в Illuminate Database Eloquent Model :: update() должен быть из массива типов, строка

Route::get('userstatus/{id}/{status}', '[email protected]'); 

в контроллере:

public function changeStatus($id, $status, User $user) 
    { 

     $user->update(array('status' => $status), $id); 

     return redirect('users'); 


    } 

В базе данных я храню статус как: «активный» «запретили» «держать» почему я получаю эту проблему является есть ли какое-нибудь решение?

+0

второй параметр должен быть массивом .. я имею в виду $ идентификатор должен быть array..but $ идентификатор всегда INT/string – aimme

+0

$ user-> update (array ('status' => $ status, 'id' => $ id)); если я пишу выше код, он не показывает ошибку, но база данных не обновляется –

ответ

3

Используйте его, как показано ниже:

$user->where('id', $id)->update(array('status' => $status)); 

Смотрите docs

+1

большое спасибо –

+0

как закрыть этот вопрос сейчас –

Смежные вопросы

 Смежные вопросы