未找到列:1054 'field list' 中的未知列
Column not found: 1054 Unknown column in 'field list'
我不知道为什么我一直看到以下错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ec_svdiscount_services.sv_discount_id' in 'field list'
我已经编辑了我的数据库并清除了所有缓存:
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan clear-compiled
composer dumpautoload
全部试图删除 sv_discount_id
的所有记录,这些记录在我的项目中已不再使用。我应该有 svdiscount_id
我在控制器、模型、存储库和所有相关的东西中创建的。请问我做错了什么?我怎样才能阻止 sv_discount_id
出现。
当您的模型名称在关系中使用时 SvDiscount::class
,laravel 将从 class 名称中推断出外键。
例如:
Class product
{
public function discount()
{
return $this->belongsTo(SvDiscount::class);
}
}
在代码中使用此关系时,laravel 将推断 products
table 中存在的外键被命名为 sv_discount_id
.
一个简单的解决方案是将这些字段重命名为 sv_discount_id
。
另一个解决方案是在关系 (documentation):
中指定外键
Class product
{
public function discount()
{
return $this->belongsTo(SvDiscount::class, 'svdiscount_id');
}
}
我不知道为什么我一直看到以下错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ec_svdiscount_services.sv_discount_id' in 'field list'
我已经编辑了我的数据库并清除了所有缓存:
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan clear-compiled
composer dumpautoload
全部试图删除 sv_discount_id
的所有记录,这些记录在我的项目中已不再使用。我应该有 svdiscount_id
我在控制器、模型、存储库和所有相关的东西中创建的。请问我做错了什么?我怎样才能阻止 sv_discount_id
出现。
当您的模型名称在关系中使用时 SvDiscount::class
,laravel 将从 class 名称中推断出外键。
例如:
Class product
{
public function discount()
{
return $this->belongsTo(SvDiscount::class);
}
}
在代码中使用此关系时,laravel 将推断 products
table 中存在的外键被命名为 sv_discount_id
.
一个简单的解决方案是将这些字段重命名为 sv_discount_id
。
另一个解决方案是在关系 (documentation):
中指定外键Class product
{
public function discount()
{
return $this->belongsTo(SvDiscount::class, 'svdiscount_id');
}
}