Lỗi SQLSTATE[42S02]: Base table or view not found: 1146

Mọi người cho e hỏi tại sao update lại không tìm đc bảng ‘tbcategory’ trong khi thêm mới thì vẫn thêm đc
Controller function:
> public function editItem(Request $request, $id){

                $category = Category::find($id);
                $this->validate($request,
                    [
                        'txt_CateName' => 'unique: tbcategory,cateName'
                    ],
                    [
                        'txt_CateName.unique' =>'Tên Category đã tồn tại',
                    ]
                );
            $category->cateName = $request->txt_CateName;
            $category->cateNameKD = changeTitle($request->txt_CateName);
            echo $category->cateName ."------".$category->cateNameKD;
            $category->save();
           // return redirect('admin/catelist')->with('message','Sửa thành công');
        }

Model:
> class Category extends Model

        {
            //
            protected $table = 'tbcategory';
        public function subcategory(){
            return $this->hasMany('App\SubCategory','cateID','ID');
        }
        public function news(){
            return $this->hasManyThrough('App\News','App\SubCategory','cateID','subcateID','ID');
        }
    }

Ban thử chạy lại php artisan migrate xem.

“nothing to migrate” r ạ :frowning:

Thừa dấu cách này bạn

ui đúng r ạ.
cho e hỏi là tại sao cái hàm save() của e nó ko lưu lại tên đã sửa ạ??
e echo nó ra thì thấy đổi r, mà trong csdl ko đổi đc ạ

Bạn dump cái này xem nó true hay false. Try catch xem nó có lỗi gì không

e tìm ra lỗi r ạ. Tại cột ID trong datbase e đặt là ID (viết hoa) nên ko đc.
e thắc mắc là tại sao cột id (viết thường) thì laravel nó mới hiểu đc ạ?

Mặc định theo convention thì là viết thường. Nếu viết khác thì bạn phải khai báo lại trong Model
https://laravel.com/docs/5.4/eloquent#eloquent-model-conventions

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?