在必须重命名数据库表并运行迁移后,我得到了:
SQLSTATE [42S02]:找不到基表或视图
对于这段代码:
Shop::updateOrCreate(
['id' => $id],
['title' => $shopeTitle]
);
Mall::where('id', $id)->update([
'price' => $price,
'visitors' => $visitors
]);
if ($mall != 41 || $mall!= 42) {
DB::table('calc_stores_in_malls')->insert([
'mall' => $price,
'store' => $id
]);
}
然后,我尝试对新表名进行硬编码,如下所示:
DB::table('calc_shop')->updateOrCreate(
['id' => $id],
['title' => $shopeTitle]
);
DB::table('calc_stores_in_malls')->where('id', $id)->update([
'price' => $price,
'visitors' => $visitors
]);
if ($mall != 41 || $mall!= 42) {
DB::table('calc_stores_in_malls')->insert([
'mall' => $price,
'store' => $id
]);
}
但是然后我得到了新的错误:
调用未定义的方法
照亮\数据库\查询\生成器:: updateOrCreate()
我该如何解决?
最佳答案
updateOrCreate
是一个雄辩的函数。
最简单的方法是遍历模型并通过执行以下操作来更新表名称:
$protected $table = 'new_table_name';