Example #1
0
 /**
  * si $set est un array la fonction ignore les éléments dont les clefs ne sont pas présentes dans la liste des colonnes
  * @param array $set tableau dont les clefs sont colonnes associées aux valeurs à affecter
  * @param string $raw_column chaine contenant les nom de colonnes, séparée par des virgules, dont les valeurs doivent être traitée comme commande sql
  * @return string retourne une clause SET mysql
  */
 protected function set(array $set, $raw_column = null, $fqcn = true)
 {
     if (!is_array($set)) {
         throw new Exception(" no data to set in " . $this->dbTable->table);
     }
     $w = array();
     $raw_column = explode(',', $raw_column);
     foreach ($set as $k => $v) {
         if (!($col = $this->existColumn($k, $fqcn))) {
             continue;
         }
         if ($this->dbTable->validate($k, $v)) {
             $w[] = " {$col}=" . $this->quoteData($k, $v, in_array($k, $raw_column));
         }
     }
     $w = implode(',', $w);
     return $w;
 }