php - 无法从 Laravel 5 删除请求中的路由访问资源 ID?

标签 php laravel laravel-5

如果资源属于我在 Laravel 5 中为其创建删除请求的用户,我将尝试授权对资源的删除请求。

对于另一个资源,我可以做类似的事情:

public function authorize()
{
    if(Pivot::findOrFail($this->route('pivots'))->user_id != Auth::user()->id){
        return false;
    }

    return true;
}

所以基本上 $this->route('pivots') 会返回用户试图删除的枢轴的 ID,我会检查它是否属于当前用户。

但现在我正在尝试与此类似的另一种资源:

public function authorize()
{
    if(CropSection::findOrFail($this->route('crop-sections'))->pivot->user_id != Auth::user()->id){
        return false;
    }

    return true;
}

我试图死掉并转储 $this->route('crop-sections') 结果是 null 但请求是 http://localhost:8000/crop-sections/10 id 为 10.

我做错了什么?

最佳答案

您必须将 'crop-sections' 更改为 'crop_sections'。

路由参数不能包含 - 字符。请改用下划线 (_)。

您可以找到更多信息 here .

关于php - 无法从 Laravel 5 删除请求中的路由访问资源 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31181614/

相关文章:

javascript - PHP Javascript 更改浏览器后退按钮行为 Laravel

php - 传递给 DoctrineDataCollector::__construct() 的参数 1 必须是 Doctrine\Common\Persistence\ManagerRegistry 的实例

javascript - 从php返回json到ajax

php - 在html页面中显示静态数据

自升级到 5.5 以来,Laravel Forge/Envoyer 使用旧版本

php - 如何在进行 PHP artisan 存储时更改符号链接(symbolic link)文件夹的位置 : link?

javascript - 使用 AJAX 提交表单 laravel

email - 使用 Laravel Mail 外观从多个 Mailgun 域发送

php - 需要在单个资源 Controller 中使用 Entrust 角色的建议 - Laravel5

php - 如何将我的 Controller 移动到 Laravel 5.2 中的单独包文件夹中?