我使用itemId
代替id
,当我验证为
'barcode' => 'required|unique:item,barcode,' .$this->get('itemId'),
我得到了
SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'id'(SQL:选择count(*)作为
item
的聚合,其中barcode
= 5391510260790和{{ 1}}<> 10)
如何告诉Laravel在id
函数的请求类中的唯一验证中使用itemId
而不是id
?
答案 0 :(得分:2)
您可以使用规则的第四个参数指定要检查的列:
'barcode' => 'required|unique:item,barcode,'.$this->get('itemId').',itemId',
答案 1 :(得分:0)
如果你看到它说的文档,你必须按照下面的结构来分辨哪个是id列。
unique:table,column,except,idColumn
您必须将 idColumn 替换为您的 id 列的名称。所以最终的代码会是这样的:
'barcode' => 'required|unique:item,barcode,' .$this->get('itemId').',itemId',