0

我正在构建一个求职类型的应用程序。有两种类型的用户,求职者和雇主,每个用户都有自己的角色。当雇主登录后,他可以浏览候选人的个人资料并要求面试。他可以选择 2 个时间和日期选项,然后单击发送。当该特定用户登录时,我想在页面顶部显示带有铃铛图标的通知,并且通知应显示“您已收到面试请求!”。然后,当他们单击它或转到管理面板上的通知部分时,它将显示雇主信息“您好,用户名,ABC 公司对您的个人资料感兴趣,并希望安排您参加面试。” 有 2 个日期和时间选项。求职者选择日期和时间选项 1,点击发送,然后雇主收到求职者的通知。他们将以这种方式进行交流,直到他们都同意安排面试的日期和时间。所以我想要2个通知。1 当面试请求被发送给候选人时,第二个是当候选人选择一个对他有利的日期和时间并将请求发送回雇主时。我了解如何在用户登录时发送通知,但我缺少有关如何向未登录用户发送通知的信息。这两种类型的用户都存储在我的用户表中,只是角色不同。1 当面试请求被发送给候选人时,第二个是当候选人选择一个对他有利的日期和时间并将请求发送回雇主时。我了解如何在用户登录时发送通知,但我缺少有关如何向未登录用户发送通知的信息。这两种类型的用户都存储在我的用户表中,只是角色不同。1 当面试请求被发送给候选人时,第二个是当候选人选择一个对他有利的日期和时间并将请求发送回雇主时。我了解如何在用户登录时发送通知,但我缺少有关如何向未登录用户发送通知的信息。这两种类型的用户都存储在我的用户表中,只是角色不同。

job_seeker_profile.blade.php 文件:

{!! Form::open(['method'=>'POST', 'action'=>'AdminEmployerInterviewRequestsController@store', 'files'=>true, 'style'=>'width: 100%;']) !!}

<div class="form-group">
    <div class="input-group date" id="datetimepicker1" data-target-input="nearest">
        {!! Form::text('date_time1', null, ['class'=> $errors->first('date_time1') ? 'border-danger form-control datetimepicker-input' : 'form-control datetimepicker-input', 'data-target'=>'#datetimepicker1']) !!}
        <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
            <div class="input-group-text"><i class="fa fa-calendar"></i></div>
        </div><br>
    </div>
    <small class="text-danger">{{ $errors->first('date_time1') }}</small>
</div>
<div class="col">

</div>

<div class="form-group">
    <div class="input-group date" id="datetimepicker2" data-target-input="nearest">
        {!! Form::text('date_time2', null, ['class'=> $errors->first('date_time2') ? 'border-danger form-control datetimepicker-input' : 'form-control datetimepicker-input', 'data-target'=>'#datetimepicker2']) !!}
        <div class="input-group-append" data-target="#datetimepicker2" data-toggle="datetimepicker">
            <div class="input-group-text"><i class="fa fa-calendar"></i></div>
        </div><br>
    </div>
    <small class="text-danger">{{ $errors->first('date_time2') }}</small>
</div>

<div class="form-group">
    {!! Form::hidden('user_id', Auth::user()->id, ['class'=>'form-control']) !!}
</div>

<div class="form-group">
    {!! Form::hidden('job_seeker_profile_user_id', $jobSeekerProfile->id, ['class'=>'form-control']) !!}
</div>

<div class="form-group">
    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
    {!! Form::submit('Send Interview Request', ['class'=>'btn btn-primary float-right']) !!}
</div>
<br><br><br><br>

{!! Form::close() !!}

AdminEmployerInterviewRequestsController.php 文件:

public function store(EmployerInterviewCreateRequest $request)
{
    $input = $request->all();

    $user = Auth::user();

    $JobSeekerProfile = JobSeekerProfile::all();

    $user->interviewRequestsSent()->create($input);
    $user->interviewRequestsReceived()->create($input);

    $user->notify(new InterviewRequestSent());

    $JobSeekerProfile->notify(new InterviewRequestReceived());

    return redirect('/admin/employer/interviews');

}

但是当我打电话给

$JobSeekerProfile->notify(new InterviewRequestReceived());

它给了我这个错误:

Method Illuminate\Database\Eloquent\Collection::notify does not exist.

是否可以在采取行动后向其他用户发送通知?

4

2 回答 2

0

现在不可能。只有登录的用户才能收到通知。我已经发送了几张关于这个的票

于 2020-03-11T20:38:43.283 回答
0

您的错误是因为您将每一个都拉JobSeekerProfile入一个集合,然后尝试调用notify()该集合。由于您要提交 ID,因此只需使用它来构建实例并通知它。

public function store(EmployerInterviewCreateRequest $request)
{
    $input = $request->all();

    $user = Auth::user();

    $JobSeekerProfile = JobSeekerProfile::find($request->job_seeker_profile_user_id);

    $user->interviewRequestsSent()->create($input);
    $user->interviewRequestsReceived()->create($input);

    $user->notify(new InterviewRequestSent());

    $JobSeekerProfile->notify(new InterviewRequestReceived());

    return redirect('/admin/employer/interviews');

}
于 2020-03-11T20:50:45.977 回答