首页 > 解决方案 > 重命名列 Laravel 5.8 后从表中删除数据

问题描述

最近我开始使用 Laravel 5.8,我正在尝试制作删除按钮,该按钮将从数据库中删除行。但是在创建按钮之前,我已经将表中的列 id 名称从 id 更改为 id_book,问题是 Laravel 仍然获取 id-data,而不是 id_book,并引发这样的错误

**Column not found: 1054 Unknown column 'books.id'**

这是按钮的代码:

<form action="/hapus/{{ $book->id_book }}" method="POST">
                @method('DELETE')
                @csrf
                <input type="submit" value="Hapus">
</form>

这是控制器的方法:

public function hapus($id_book){
    $book = Books::find($id_book);
    $book->id;
    if($book->gambar = 1){
        Storage::delete($book->gambar);
        $book->delete();
        return redirect('/books');
    }
    else{
        $book->delete();
        return redirect('/books');
    }

表格中的列是:id_book(以前是 id)、名称、图像、类别、描述

感谢帮助,这是我修复此问题后的模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Books extends Model
{
protected $table = "books";
protected $primaryKey = "id_book";//solution

protected $fillable = [
    'title',
    'images',
    'category',
    'description'
];

}

标签: phpmysqllaravel

解决方案


推荐阅读