如何在存储到数据库之前检查用户是否已经提交了推荐信
How to check if a user already submitted a testimonial before storing to database
如果 user_id 已经存在,我希望我的控制器在数据库中检查 avis table,然后再将用户的评论存储在 avis table 中,以防止出现相同的情况用户在某人的个人资料上提交多个推荐。有没有办法使用 laravel?
我有一个 avis table,它存储带有 id、profile_id、user_id、评论的推荐。 (user_id 获取提交表单的用户的 ID,profile_id 获取接收推荐的用户的 ID)
这是我的控制器
public function store(AvisCreateRequest $request)
{
//dd($request->all());
//$region = $this->regionRepository->store($request->all());
$avis = new Avis;
$id = Auth::user()->id;
/** $duplicates = Avis::search(function ($avis, $rowId) use ($request) {
return $avis->user_id === $id;
});
if ($duplicates->isNotEmpty()) {
return back()->with('success_message', 'You already submitted an avis');
} **/
$avis->comment = $request->comment;
$avis->profile_id = $request->profile_id;
$avis->user_id = $id;
//dd($avis);
$avis->save();
return back()->with('success_message', 'Votre Avis a ete envoyez avec succes!');
}
这是我的表格
div id="avisForm">
<p class="feedback_message">We are here to make sure you are sastified and your transactions are safe. We do appreciate and will respond quickly to any feedback from you.</p>
{!! Form::open(['route' => 'avis.store']) !!}
<input type="hidden" name="profile_id" value="{{ $profiledetail->id }}">
{!! Form::textarea('comment', null, ['placeholder' => 'Message', 'required' => 'required']) !!}
{!! Form::submit('Envoyez', ['class' => 'formBtn','style' => 'margin-top:10px']) !!}
{!! Form::close() !!}
</div>
您可以尝试这样的操作:
$id = \Auth::user()->id;
$profile_id = $request->profile_id;
if (Avis::where('user_id', $id)->where('profile_id', $profile_id)->exists()) {
return back()->with('success_message', 'You already submitted...');
}
如果 user_id 已经存在,我希望我的控制器在数据库中检查 avis table,然后再将用户的评论存储在 avis table 中,以防止出现相同的情况用户在某人的个人资料上提交多个推荐。有没有办法使用 laravel?
我有一个 avis table,它存储带有 id、profile_id、user_id、评论的推荐。 (user_id 获取提交表单的用户的 ID,profile_id 获取接收推荐的用户的 ID)
这是我的控制器
public function store(AvisCreateRequest $request)
{
//dd($request->all());
//$region = $this->regionRepository->store($request->all());
$avis = new Avis;
$id = Auth::user()->id;
/** $duplicates = Avis::search(function ($avis, $rowId) use ($request) {
return $avis->user_id === $id;
});
if ($duplicates->isNotEmpty()) {
return back()->with('success_message', 'You already submitted an avis');
} **/
$avis->comment = $request->comment;
$avis->profile_id = $request->profile_id;
$avis->user_id = $id;
//dd($avis);
$avis->save();
return back()->with('success_message', 'Votre Avis a ete envoyez avec succes!');
}
这是我的表格
div id="avisForm">
<p class="feedback_message">We are here to make sure you are sastified and your transactions are safe. We do appreciate and will respond quickly to any feedback from you.</p>
{!! Form::open(['route' => 'avis.store']) !!}
<input type="hidden" name="profile_id" value="{{ $profiledetail->id }}">
{!! Form::textarea('comment', null, ['placeholder' => 'Message', 'required' => 'required']) !!}
{!! Form::submit('Envoyez', ['class' => 'formBtn','style' => 'margin-top:10px']) !!}
{!! Form::close() !!}
</div>
您可以尝试这样的操作:
$id = \Auth::user()->id;
$profile_id = $request->profile_id;
if (Avis::where('user_id', $id)->where('profile_id', $profile_id)->exists()) {
return back()->with('success_message', 'You already submitted...');
}