2016-01-03 39 views
1

我是Laravel的新手,我在存儲和更新模型時遇到問題。在Laravel存儲和更新 - 哪些請求使用?

這裏是我的存儲方法

public function store(Request $request) 
{ 

    $input = Request::all(); 

    Klijent::create($input); 

    return redirect('klijenti'); 

} 

我必須包括use Request;,使其工作。

這裏是我的更新方法

public function update(Request $request, $id) 
{ 
    // 

    $klijent = Klijent::find($id); 

    $klijent->update($request->all()); 

    return redirect('klijenti/'. $id); 

} 

我必須包括use Illuminate\Http\Request;,使其工作。

但是,如果我不使用第一個採用存儲方法,當我得到這個錯誤:

Non-static method Illuminate\Http\Request::all() should not be called statically, assuming $this from incompatible context 

如果我不使用第二個,我得到這個錯誤,當我使用更新方法:

Call to undefined method Illuminate\Support\Facades\Request::all() 

如果我使用他們兩個我得到這個錯誤:

Cannot use Illuminate\Http\Request as Request because the name is already in use 
+3

[Laravel Request :: all();](http://stackoverflow.com/questions/28573860/laravel-requestall)可能的重複 – patricus

回答

2

你需要撥打電話給非靜態方法,如

$input = $request->all(); 

在您的第一個功能。第二個錯誤是因爲Illuminate\Support\Facades\Request沒有調用all方法。第三個錯誤是名稱空間衝突,因爲在PHP中不能有兩個具有相同名稱的類。