我正在尝试根据条件将电子邮件通知发送到其他路由
$employeerespondents = AppraisalRespondent::select('id','respondent_id','respondent_email', 'fullname')->where('employee_id', $userEmployee)->where('appraisal_identity_id', $identities->id)->where('email_sent',0)->where('is_active',1)->get();
foreach ($employeerespondents as $employeerespondent)
{
$details = [
'sent_to' => $employeerespondent->respondent_id,
'sent_by' => $userId,
'user_id' => $userId,
'review_periond' => $reviewperiod,
'employee_respondent_email' => $employeerespondent->respondent_email,
'actionText' => 'View Multi-Source Feedback Form',
'actionURL' => $employeerespondent->is_internal === 0 ? url('http://localhost:8888/myapp/appraisal/appraisal_msfs/create', ['id'=>$employeerespondent->id]) : url('http://localhost:8888/myapp/appraisal/appraisal_msf_externals/create', ['id'=>$employeerespondent->id]),
'notification_type' => 'MSF Request',
];
Notification::route('mail', $details['employee_respondent_email'])
->notify(new \App\Notifications\Appraisal\AppraisalRespondentSubmit($details));
}
我正在使用is_internal === 0,然后使用
url('http://localhost:8888/myapp/appraisal/appraisal_msfs/create', ['id'=>$employeerespondent->id])
其他
url('http://localhost:8888/myapp/appraisal/appraisal_msf_externals/create', ['id'=>$employeerespondent->id])
但是令人惊讶的是,当我提交时,我的brouser url上看到了没有参数的路由
http:// localhost:8888 / myapp / appraisal / appraisal_msf_externals / create
我收到此错误:
404找不到。抱歉,找不到您要查找的页面。
我该如何解决?
谢谢
答案 0 :(得分:0)
Laravel的route()
和action()
辅助方法支持URL参数。 url()
帮助程序方法不允许您那样做。
因此,您可能需要在下面执行以下任一操作。
route('yourRoute.name', ['id'=>$employeerespondent->id]);
或
action('YourController@method', ['id'=>$employeerespondent->id]);
您使用了is_internal === 0
,这意味着它必须具有相同的值和类型,您可以更改为is_internal == 0
或在模型中进行cast
。
protected $casts = [
'is_internal' => 'integer',
];