laravel 5.8 中的异常:尝试编辑数据时尝试获取非对象的属性

最近,我开始使用Laravel 5.8,我正在尝试制作编辑按钮,该按钮将更新数据库中的行。当编辑按钮点击时,拉拉维尔会引发这样的错误

http://img2.mukewang.com/6325cedc0001b3eb13640761.jpg

这是我的控制器:


    public function edit($id_book){

        $book = Books::find($id_book);

        return view('/books',['book'->$book]);

    }


    public function UploadEdit(Request $request){

        DB::table('books')->where('id_book',$request->id_book)->update([

            'judul' => $request->judul,

            'gambar' => $request->gambar,

            'kategori' => $request->kategori,

            'deskripsi' => $request->deskripsi,

            'ketersediaan' => $request->ketersediaan,

            'lokasi' => $request->lokasi

        ]);


        return redirect()->back();

    }

这是我的模型:


    class Books extends Model

    {

        protected $table = "books";

        protected $primaryKey = "id_book";


       protected $fillable = [

           'judul',

           'gambar',

           'kategori',

           'deskripsi',

           'ketersediaan',

           'lokasi'

       ];

    }

我试图用控制器中的更改编辑功能解决这个问题:从这个


    public function edit($id_book){

        $book = Books::find($id_book);

        return view('/books',['book'->$book]);

    }

对此


    public function edit($id_book){

        $book = Books::find($id_book);

        return view('/books',compact('book'));

    }

和这个:


    public function edit($id_book){

         $book = Books::find($id_book);

         return view('/books')->withBooks('$book');

    }

但它不起作用


慕婉清6462132
浏览 119回答 5
5回答

米琪卡哇伊

我认为错误显示是错误的。你应该使用方法。id_bookfindOrFail()public function edit($id_book){    $book = Books::findOrFail($id_book);    return view('/books',compact('book'));}

HUH函数

试试这个public function edit($id_book) {   $book = Book::find($id_book);   return view('books.edit', compact('book'));}

陪伴而非守候

似乎你用来分配价值->=>改变return view('/books',['book'->$book]);自return view('/books',['book' => $book]);

牧羊人nacy

将第 58 行(函数的返回语句)更改为:edit()return view('/books',compact('book'));

MMTTMM

试试这个: public function edit($id_book){        $book = Books::where('id_book', $id_book)->first();        return view('/books', compact('book'));    }
打开App,查看更多内容
随时随地看视频慕课网APP