当前位置: 首页 > 知识库问答 >
问题:

Laravel-使用不同的id进行唯一验证

梁渊
2023-03-14

我使用itemId而不是id,当我验证为

'barcode'        => 'required|unique:item,barcode,' .$this->get('itemId'),

我得到

SQLSTATE[42S22]:未找到列:1054“where子句”中的未知列“id”(SQL:选择count(*)作为来自项的聚合,其中条形码=5391510260790和id

如何告诉Laravel在authorize()函数的请求类的唯一验证中使用itemId而不是id


共有2个答案

厉坚
2023-03-14

如果您看到上面提到的文档,您必须遵循以下结构来判断哪个是id列。

unique:table,column,except,idColumn

您必须用您的id列的名称替换id列。最后的代码是这样的:

'barcode' => 'required|unique:item,barcode,' .$this->get('itemId').',itemId',
姬裕
2023-03-14

可以使用规则的第四个参数指定要检查的列:

'barcode' => 'required|unique:item,barcode,'.$this->get('itemId').',itemId',
 类似资料:
  • 问题内容: 我在表服务器中有2列。 我有专栏和。 我有验证: 这仅适用于列。但是如何做到这一点并适用于专栏呢? 我想列验证data.ip 和。因为在用户写入ip时,ip和主机名列中可以重复。 问题答案: 您可以用来实现验证规则

  • 我想用Laravel唯一的验证器来实现SoftDeletes。我已经尝试了很多次,但它产生了这样一个错误。我该怎么办?提前道谢。下面是我的代码示例。

  • 问题内容: 我正在尝试为添加到jqGrid的新行分配唯一的ID。我使用免费的jqGrid 4.11.0,它是服务器端的java rest服务,而数据库是MS SQL。 我注意到jqGrid给出的默认ID是jqg +一个数字。关于如何制作唯一未在任何数据库记录中使用的唯一ID的任何建议?我应该从服务器端执行此操作还是可以在jqGrid代码中进行? 在晚上的某个时间点,此代码可以正常工作,并继续为所有

  • 我想使用多身份验证Laravel,但只有一个表"用户" 我如何实现这一点?

  • 问题内容: 下面是我的代码,我只想显示我在sqlite数据库中插入的数据到文本视图,但是我遇到这个错误,说id不是唯一的。 这是我的整个Java代码。谢谢 :) 问题答案: 好吧,我认为这个项目在您首次运行时效果很好。当您第二次运行它时,由于是您的ID为1的行已被插入到您的数据库中,因此会出现错误。 要消除错误,请执行以下任一操作: