public $columnMap = array(
'Date' => 'Date',
'FirstName' => 'FirstName',
'amount' => 'Amount',
);
public $duplicateChecks = array(
'FirstName' => 'FirstName',
);
在$duplicateChecks
我需要检查FirstName和金额。我该如何实现呢?
答案 0 :(得分:3)
如果我理解正确,您希望对两列进行复合检查以识别副本。
在这种情况下,您需要提供自己的批量加载程序/导入类并重载findExistingObject
方法。
您可以执行以下操作:
class MyCsvBulkLoader extends CsvBulkLoader
{
...
public function findExistingObject($record, $columnMap = [])
{
return DataObject::get($this->objectClass)
->filter(array(
'FirstName' => $record['FirstName'],
'amount' => $record['amount'],
))->first();
}
...
}