2016-02-02 4 views
0

Я использую Laravel 5, и у меня есть простая страница редактирования, которая должна обновлять базу данных. когда я пытаюсь запустить его, я получил сообщение об ошибкеLaravel 5, Call to undefined method stdClass :: update()

FatalErrorException в UserController.php строке 47: Вызов неопределенной метод StdClass :: Update()

Контроллер:

public function userUpdate() 
{ 
    if(Input::get('send')) { 
     $arr = [ 
      'email' => Input::get('email') 
     ]; 
     DB::table(Config::get('users_table'))->find(Input::get('userId'))->update(['is_active' => TRUE]); 
     return redirect()->route('users'); 
    }   
} 

Схема базы данных:

id bigserial NOT NULL, 
username text, 
email text, 
permission integer NOT NULL, 
is_staff boolean NOT NULL DEFAULT false, 
is_active boolean NOT NULL DEFAULT false, 
updated_at timestamp without time zone, 
created_at timestamp without time zone, 
remember_token text 

Маршрут:

Route::post('/user/update', [ 
    'as' => 'userUpdate', 'uses' => '[email protected]' 
]); 

Вид:

{!! Form::open(['route' => 'userUpdate', 'method' => 'post']) !!} 

<label>Username</label> 
{!! Form::text('username', $user->username, ['class' => 'form-control readonly', 'readonly' => '']) !!} 

<label>Email</label> 
{!! Form::text('email', $user->email, ['class' => 'form-control']) !!} 

<label>Permission</label> 
{!! Form::text('permission', $user->permission, ['class' => 'form-control']) !!} 

{!! Form::hidden('userId', $user->id) !!} 
{!! Form::submit('Update User', ['class' => 'btn green', 'name' => 'send']) !!} 
{!! Form::submit('Cancel', ['class' => 'btn black', 'name' => 'clear']) !!} 
{!! Form::close() !!} 

Я использую эту структуру, специально этот тип с помощью ввода и формы класса в другой функции в моем контроллере для списка макияжа строк или получить отдельную строку таблицы, и все было в порядке, но в обновлении базы данных я получил ошибку Call to undefined method stdClass::update(). Есть что-то, чего я не хватает?

ответ

3

вы не можете использовать метод поиска в построитель запросов, вам нужно использовать где

public function userUpdate() 
{ 
if(Input::get('send')) { 
    $arr = [ 
     'email' => Input::get('email') 
    ]; 
    DB::table(Config::get('users_table'))->where('id',Input::get('userId'))->update(['is_active' => TRUE]); 
    return redirect()->route('users'); 
}   
} 
Смежные вопросы