2016-03-27 26 views
0

Im submiting sonra ben hata alıyorum, laravel bir formu cephe kullanarak kullanıcı nesnesini güncellemeye çalışıyorum:laravel 5 - Form Cephe ile güncellenirken hata

ErrorException in Grammar.php line 102: 
Argument 1 passed to Illuminate\Database\Grammar::columnize() must be of the type array, 
string given, called in 
C:\Laravel Projects\ExpenseTool\vendor\laravel\framework\src\Illuminate\Database\Query\Grammars\Grammar.php on line 105 and defined 

Benim isteği:

<?php namespace App\Http\Requests; 

use App\Http\Requests\Request; 

class UserRequest extends Request { 

/** 
* Determine if the user is authorized to make this request. 
* 
* @return bool 
*/ 
public function authorize() 
{ 
    return true; 
} 

/** 
* Get the validation rules that apply to the request. 
* 
* @return array 
*/ 
public function rules() 
{ 
    return [ 
     'name' => 'required|min:3', 
     'email' 
    ]; 
} 

} 

Benim HomeController endeksi:

public function index() 
{ 
    $user = Auth::user(); 
    return view('Expenses.home', compact('user')); 
} 

görünüm Expenses.home My formu:

{!! Form::model($user, ['method' => 'PUT', 'action' => ['[email protected]', $user->id]]) !!} 
    <div class="form-group"> 
     {!! Form::label('Name', 'Name:') !!} 
     {!! Form::text('name', null, ['class' => 'form-control']) !!} 
    </div> 

    <div class="form-group"> 
     {!! Form::label('Email', 'Email:') !!} 
     {!! Form::text('email', null, ['class' => 'form-control']) !!} 
    </div> 

    <div class="form-group"> 
     {!! Form::submit('Update', ['class' => 'btn btn-primary form-control']) !!} 
    </div> 
{!! Form::close() !!} 

benim rota:

Route::resource('home', 'HomeController', ['only' => ['update']]); 

benim HomeController @ güncelleme: ben yanlış yapıyorum

public function update($id, UserRequest $request) 
{ 
    $loggedUser = Auth::user(); 

    $userDB = User::get($id); 

    $username = $request->input('name'); 

    $userDB->name = $username; 

    $userDB->update(); 

    return redirect('home'); 
} 

?

cevap

1

Eğer

`kamu işlevi güncelleştirme değiştirmek zorunda ($ id, UserRequest $ istek) { $ loggedUser = Kimlik Doğrulama :: kullanıcı();

// you are cool to use findOrFail 
$userDB = User::find($id); 

$username = $request->input('name'); 

$userDB->name = $username; 

$userDB->update(); 

return redirect('home'); 

} `

Hata get() yöntemiyle nedenleri veritabanına

den alır istiyoruz sütunların bir dizi geçirilecek gerektirir olduğu