Php 从Laravel 5.7更新到6后未找到路线

Php 从Laravel 5.7更新到6后未找到路线,php,laravel,Php,Laravel,我正在尝试将我的应用程序更新到Laravel6,但不幸的是,我无法使我的routs再次正常工作。当前配置使我无法找到页面 以下是它以前的工作原理: // generating a link $content['fan_prize_url'] = route('claim.prize', ['id' => $content['prize_id'], 'u' => $recipient->guid]); 在更新之前,链接是这样的: 更新后 当我把web.php改成这样时 R

我正在尝试将我的应用程序更新到Laravel6,但不幸的是,我无法使我的routs再次正常工作。当前配置使我无法找到页面

以下是它以前的工作原理:

// generating a link

$content['fan_prize_url'] = route('claim.prize', ['id' => $content['prize_id'], 'u' => $recipient->guid]);
在更新之前,链接是这样的:

更新后

当我把web.php改成这样时

Route::get('claim', [
        'as' => 'claim.prize',
        'uses' => 'PrizeController@claimPrize',
    ]);
它让我尝试获取非对象的属性

我错过了什么?我刚刚通过了拉威尔6号公路,但什么也找不到


谢谢

Laravel 6+使Route()函数的路由参数名称更加严格,参数名称必须与路由中给定的名称匹配。保持其余部分不变,并尝试将路由链接生成更改为以下内容

$content['fan_prize_url'] = route('claim.prize', ['contest_prize' => $content['prize_id'], 'u' => $recipient->guid]);

如果有人也会被卡住,显然在Laravel6中,有一种传递值和对象的新方法。我得换衣服

$content['fan_prize_url'] = route('claim.prize', ['id' => $content['prize_id'], 'u' => $recipient->guid]);


传递对象本身而不是字符串,它就工作了

不幸的是,它不起作用。我试图像你说的那样更改路由生成,并将web.php更改为`。路由::get('claim/{id}')与旧的路由生成一起,但仍然有未找到的路由id是有效的,guid是有效的。它给了我尝试获取非对象属性的机会。我做了什么?你能用相应的代码发布准确的消息吗?@Loek-sure,对不起。错误说“尝试获取属性”是非对象的“草稿”
$content['fan_prize_url'] = route('claim.prize', ['contest_prize' => $content['prize_id'], 'u' => $recipient->guid]);
$content['fan_prize_url'] = route('claim.prize', ['id' => $content['prize_id'], 'u' => $recipient->guid]);
$content['fan_prize_url'] = route('claim.prize', [$content['prize_id'], 'u' => $recipient->guid]);