set() public méthode

The "set" function. Allows key/value pairs to be set for inserting or updating
public set ( $key, $value = '', $escape = TRUE ) : object
Résultat object
Exemple #1
0
 /**
  * Saves the active record if changed, and creates a relationship to the specified
  * $Relationship if provided. Both this and relationship will be saved before the join
  * is made
  *
  * @param ifx_Model $Relationship
  * @return mixed
  */
 public function save(ifx_Model &$Relationship = null)
 {
     //Have we been passed a relationship to save
     if ($Relationship instanceof ifx_Model) {
         //If this isnt loaded, try and save it first
         if (!$this->is_loaded() && !$Relationship->is_loaded()) {
             if ($this->save() === FALSE) {
                 return FALSE;
             }
         }
         //Make sure the relationship is already created
         //if(!$Relationship->is_loaded()){
         //    if($Relationship->save() === FALSE) return FALSE;
         //}
         if ($this->_relationship_is_1NF($Relationship)) {
             //Set this relation column to the foreign ID
             $this->{$this->_1NF_relationship_field($Relationship)} = $Relationship->id();
             //Try and save as usual
             return $this->_save_row();
             //Test to see if the relationship is 2NF
         } elseif ($this->_relationship_is_2NF($Relationship)) {
             //In this or the other
             if ($this->_2NF_Relationship_is_foreign($Relationship)) {
                 $Relationship->{$this->_id()} = $this->id();
                 return $Relationship->save();
             } else {
                 if (!$Relationship->is_loaded()) {
                     if (!$Relationship->save()) {
                         return false;
                     }
                 }
                 $this->{$Relationship->_id()} = $Relationship->id();
                 return $this->save();
             }
             //Test to see if the relationship has a join table
         } elseif ($this->_relationship_is_3NF($Relationship)) {
             //Get the join table
             $JoinTable = $this->_3NF_relationship_table($Relationship);
             //Insert the record into the join table
             $this->db->set($this->_id(), $this->id());
             $this->db->set($Relationship->_id(), $Relationship->id());
             $this->db->insert($JoinTable);
             return $this->db->affected_rows() == 1;
         } else {
             show_error('Unable to save relationship. Relationship is undefined between ' . $this->_table() . ' and ' . $Relationship->_table());
         }
     } else {
         //Run any pre-save defaults - extended by the implementor
         $this->before_save();
         return $this->_save_row();
     }
 }