wiki:CopixDAOMethodeInsert

Utilisation de la méthode insert des DAO

La méthode get des DAO permet d'inserer un enregistrement

Exemple :

// On crée un nouvel enregistrement
$news = _record ('News');
// On affecte les valeurs aux champs
$news->titre = 'Nouvelle actualité';

// On insert l'enregistrement
_dao ('News')->insert ($news);

Cas des autoincrement

Si la clef primaire est une séquence ou qu'elle est du type autoincrement, alors la clef primaire est mise à jour lors de l'enregistrement.

par exemple, si le champ id_news est de type autoincrement, on peut en récupérer la valeur dès la fin de l'insert

$news = _record ('News');
$news->titre = 'Nouvelle actualité';
_dao ('News')->insert ($news);

$message = 'Nouvelle enregistrée avec identifiant '.$news->id_news;

Forcer l'utilisation d'un identifiant (3.0.1+)

Depuis Copix 3.0.1 il est possible de demander à Copix d'utiliser une valeur donnée dans l'identifiant plutôt que de systématiquement utiliser la valeur de l'autoincrement.

Pour ce faire, vous devez spécifier à la méthode insert la valeur true au deuxième paramètre.

Par exemple

$record = _record ('copixtestautodao');
$record->id_test = 100;//on veut utiliser 100 comme valeur et non utiliser l'autoincrement
$record->titre_test = 'Titre XXXX';
_dao ('copixtestautodao')->insert ($record, true);//true demande d'utiliser la valeur fournie dans id_test

Echec d'insertion

Si jamais l'insertion échoue à cause d'un problème de contrainte (modèle de la base), la méthode insert lance une Exception de type CopixDAOCheckException. Si la requête elle même échoue, alors l'exception générée par CopixDB (CopixDBException)sera transmise.