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