Ленивый программист на проводе. Задача простая: отсекать добавление записей в таблицу, если такая запись по ключу (например, двойному) уже есть. Insert ignore в чистом mysql приходит на помощь. Но как быть в D7?
Есть вариант писать свой запрос, и отказываться от всех прелестей D7. Есть вариант, сводящий на нет все прелести ключей, делать сначала запрос. Не варианты. Лень. На помощь приходит хак, который мы разобрали не так давно.
А теперь ловкость рук:
public static function add($fields)
{
try {
return parent::add($fields);
} catch (\Exception $e) {
$result = new Entity\AddResult();
$result->addError(new Entity\EntityError('Конфликт ключей.'));
return $result;
}
}