1

我有一个名为 Professions 的资源,我最近将专栏更改为IDprofession_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 没有提供有关错误发生位置的任何信息。

4

1 回答 1

1

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

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

顺便说一句,在 Laravel 日志中找不到任何东西。

于 2018-11-26T15:32:32.200 回答