在Nova

时间:2018-11-26 13:34:48

标签: laravel laravel-nova

我有一个称为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,并且所有表和列均已正确创建。

会发生这种情况:

  • 创建职业时,在Nova中按下“创建职业”按钮后,我得到404。但是,该职业已创建。
  • 列出,查看和编辑职业很好

奇怪的是,如果我编辑专业并将其保存,它将进入显示新专业记录的查看页面。如果我按“创建职业”,这是我应该登陆的页面,但是它给出了404。

我在这里苦苦挣扎,因为404没有提供有关错误发生位置的任何信息。

1 个答案:

答案 0 :(得分:1)

出于某种原因,我从文档中解释了我需要重命名所有id列以包含资源名称,例如professions_id

事实证明,不必更改列名,并且实际上会产生此错误。因此,将其保留为id。请注意,您实际上可以更改列名,只是在这种情况下(使用Nova)会导致错误。

在Laravel日志中找不到任何东西。