我有一个称为Professions的资源,最近我将ID
列更改为profession_id
,因为将来我将需要一个hasMany
关系。
型号:
class Profession extends Model
{
protected $primaryKey = 'profession_id';
}
在Nova资源中:
public static $search = [
'profession_id',
];
在迁移文件中:
$table->increments('profession_id');
我已经运行php artisan migrate:refresh
,并且所有表和列均已正确创建。
会发生这种情况:
奇怪的是,如果我编辑专业并将其保存,它将进入显示新专业记录的查看页面。如果我按“创建职业”,这是我应该登陆的页面,但是它给出了404。
我在这里苦苦挣扎,因为404没有提供有关错误发生位置的任何信息。
答案 0 :(得分:1)
出于某种原因,我从文档中解释了我需要重命名所有id
列以包含资源名称,例如professions_id
。
事实证明,不必更改列名,并且实际上会产生此错误。因此,将其保留为id
。请注意,您实际上可以更改列名,只是在这种情况下(使用Nova)会导致错误。
在Laravel日志中找不到任何东西。