Laravel 5.2中不存在方法[all]

时间:2016-04-25 05:47:11

标签: php laravel-5.2

刚才我遇到困扰我的这个问题。 验证器:: make in update函数后的代码中的错误。

  

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

这是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');
    }

}

1 个答案:

答案 0 :(得分:0)

尝试此use Validator;代替 use Illuminate\Support\Facades\Validator;

将用户Input::all()转换为input()->all()request()->all()