【发布时间】:2019-12-21 04:06:54
【问题描述】:
我正在尝试将我的应用程序更新到 laravel 6,但不幸的是,我无法让我的溃败再次工作。当前配置给我页面未找到。
这是以前的工作方式:
// generating a link
$content['fan_prize_url'] = route('claim.prize', ['id' => $content['prize_id'], 'u' => $recipient->guid]);
// web.php
Route::get('claim/{contest_prize}', [
'as' => 'claim.prize',
'uses' => 'PrizeController@claimPrize',
]);
// PrizeController.php
public function claimPrize(ContestPrize $contest_prize, Request $request)
{
if ($contest_prize->contest->is_draft && ! \Auth::check()) {
abort(404);
}
}
更新前的链接是这样的: https://my.app/claim/14?u=be94df30-16aa-11ea-a5de-2bf3d15638e4
更新后 https://my.app/claim/claim?id=14&u=be94df30-16aa-11ea-a5de-2bf3d15638e4
当我把web.php改成这样的时候
Route::get('claim', [
'as' => 'claim.prize',
'uses' => 'PrizeController@claimPrize',
]);
它让我试图获取非对象的属性。
我错过了什么?我刚刚经历了 laravel 6 路线世代,但找不到任何东西。
谢谢!
【问题讨论】:
-
它让我试图获取非对象的属性。 是什么?你能用相应的代码发布确切的消息吗?
-
@Loek 当然,对不起。错误提示“尝试获取非对象的属性 'is_draft'”