我想确保数据库中的条目只被用户添加了1次,即你需要检查user_id的存在,如果这个用户还没有添加任何东西,那么添加它,如果它已经添加,然后什么也不做。我知道您可以通过 user_id 获取记录数,但我想通过一个请求来完成。
$this->validate($request, [
'user_id' => 'required|unique:user_id',
'text' => 'required',
]);
DB::table('suggestions')->insert([
'user_id' => Auth::user()->id,
'text' => $request->input('advert'),
]);
据我了解,您不太了解唯一规则的工作原理。
您只需在验证器中创建一条规则,该规则将查看表中是否有
suggestions来自用户的记录,user_id如果至少有一条记录则给出错误。也就是说,你不需要自己做任何事情,我们写了一个验证器:验证器之后的所有内容只有在数据通过时才会执行,也就是说,在您的情况下,没有来自用户的记录,您可以编写它们,您这样做了:
在您的情况下,该表未在规则中指定,验证器根本不应该工作或在表中查找条目
user_id。还有一件事,您检查验证器中的字段
text,并将其写入advert数据库,最好将您确定并通过验证的数据写入数据库。