【发布时间】:2017-07-21 00:40:10
【问题描述】:
我确定这是因为雄辩,但是查询使用了SELECT中的错误表。
这是我的模型:
class Subcategory extends Model
{
public function subcategory()
{
return $this->belongsTo(Category::class);
}
}
这是我的控制器:
class SubcategoriesController extends Controller
{
public function index()
{
$subcategories = Subcategory::all();
return view('pages.subcategories', compact('subcategories'));
}
}
最后是我的错误:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'developmnet.site.subcategories' doesn't exist (SQL: select * from `subcategories` where `category_slug` = budgets limit 1)
从错误中可以看出,查询中引用的表是subcategories,而应该是categories 表。
我的问题是如何在这个模型中引用正确的表格,因为我已经有一个用于我的主要类别的表格,而且它工作得很好。
【问题讨论】:
-
为什么你认为应该是
categories?你的类名是Subcategory,所以如果你不覆盖它,表名就是subcategories。 -
原因是我的
DB中实际上没有名称为subcategories的表。所以如果我要覆盖这个,我该怎么做呢?
标签: mysql laravel-5 model laravel-eloquent