2016-04-25 128 views
0

剛纔我收到這個困擾我的問題。 驗證器:: make在更新函數後的代碼中的錯誤。Laravel 5.2中不存在方法[all]

Controller.php中的BadMethodCallException行107:方法[所有]不存在 。

這是BooksController中的全部代碼

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Illuminate\Support\Facades\Validator; 
use Illuminate\Support\Facades\Input; 
use Illuminate\Support\Facades\Redirect; 


use App\Http\Requests; 
use App\Http\Controllers\Controller; 
use App\book; 

class BooksController extends Controller 
{ 
    /** 
    * Display a listing of the resource. 
    * 
    * @return Response 
    */ 
    public function index() 
    { 
     $book = BooksController::all(); 
     return view('book.index')->with('book', $book); 
    } 
    /** 
    * Show the form for creating a new resource. 
    * 
    * @return Response 
    */ 
    public function create() 
    { 
     return view('book.create'); 
    } 
    /** 
    * Store a newly created resource in storage. 
    * 
    * @return Response 
    */ 
    public function store() 
    { 
     $rules = array(
      'judul' => 'required', 
      'author' => 'required', 
      'penerbit' => 'required' 
      ); 
     $validator = Validator::make(Input::all(), $rules); 

     // process the login 
     if ($validator->fails()) { 
      return Redirect::to('book/create') 
       ->withErrors($validator) 
       ->withInput(Input::except('password')); 
     } else { 
      // store 
      $book = new book; 
      $book ->judul = Input::get('judul'); 
      $book ->author = Input::get('author'); 
      $book ->penerbit = Input::get('penerbit'); 
      $book ->save(); 

      // redirect 
      Session:flash('message', 'Berhasil membuat buku!'); 
      return Redirect::to('book'); 
     } 
    } 
    /** 
    * Display the specified resource. 
    * 
    * @param int $idate 
    * @return Response 
    */ 
    public function show($id) 
    { 
     $book = books::find($id); 
     return view('book.show') 
     ->with('book', $book); 
    } 
    /** 
    * Show the form for editing the specified resource. 
    * 
    * @param int $id 
    * @return Response 
    */ 
    public function edit($id) 
    { 
     $book = books::find($id); 
     return view('book.edit') 
     ->with('book', $book); 
    } 
    /** 
    * Update the specified resource in storage. 
    * 
    * @param int $id 
    * @return Response 
    */ 
     public function update($id) 
    { 
     $rules = array(
      'judul'  => 'required', 
      'author'  => 'required', 
      'penerbit' => 'required' 
     ); 
     $validator = Validator::make(Input::all(), $rules); 

     if ($validator->fails()) { 
      return Redirect::to('book/' . $id . '/edit') 
       ->withErrors($validator) 
       ->withInput(Input::except('password')); 
     } else { 
      // simpan 
      $book = books::find($id); 
      $book->judul  = Input::get('judul'); 
      $book->author  = Input::get('author'); 
      $book->penerbit = Input::get('penerbit'); 
      $book->save(); 

      // redirect 
      Session::flash('message', 'Berhasil mengganti info buku!'); 
      return Redirect::to('book'); 
     } 
    } 

    /** 
    * 
    * @param int $id 
    * @return Response 
    */ 
    public function destroy($id) 
    { 
     $book = books::find($id); 
     $book ->delete(); 

     //redirect 
     Session::flash('message', 'Berhasil menghapus buku!'); 
     return Redirect::to('book'); 
    } 

} 
+0

試着用'使用驗證;'你控制器標題而不是'使用Illuminate \ Support \ Facades \ Validator;' –

+0

在你的終端上運行'composer dump-autoload' – aldrin27

+0

它沒有工作,在這之前我得到了這樣的錯誤&我修正了,但是這個錯誤又來了。我只修復了很多錯誤,總是在修復1問題後出現 –

回答

0

嘗試,而不是這個use Validator; use Illuminate\Support\Facades\Validator;

轉換用戶Input::all()input()->all()request()->all()

+0

我不知道男人,它沒有工作 第107行=>「if($ validator-> failed()){」 –

+0

change your line# 105'$ validator = Validator :: make(Input :: all(),$ rules);'對此'$ validator = Validator :: make(request() - > all(),$ rules);'然後嘗試它 – Qazi

相關問題