【问题标题】:404 after creating record in Nova在 Nova 中创建记录后的 404
【发布时间】:2018-11-26 13:34:47
【问题描述】:

我有一个名为 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 没有提供有关错误发生位置的任何信息。

【问题讨论】:

  • laravel 日志是否包含错误?
  • 不。我只是发现实际上没有必要更改列名并创建此行为。我会添加它作为答案。

标签: laravel laravel-nova


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多