/** * insert or update data * @param entity $entity the data * @return void */ public function save(&$entity) { $data = $entity->toArray(); try { if (isset($entity->_id) && !empty($entity->_id)) { $this->update($entity); } else { $this->insert($entity); } return true; } catch (BulkWriteException $e) { $tmp = $e->getWriteResult()->getWriteErrors(); $tmp = current($tmp); if ($tmp->getCode() === 11000) { $var = explode('.', $tmp->getMessage()); $var = explode(' ', $var[2]); $var = substr($var[0], 1); $entity->messageValidate[$var] = 'est deja utiliser'; return false; } throw $e; } }