示例#1
0
 function save()
 {
     $parent_id = array();
     foreach ($this->getLevelObjs() as $level) {
         $level->save($parent_id, null, false);
         $parent_id[$level->getType()] = $level->getId();
         $bind[$level->getType() . '_id'] = $level->getId();
     }
     $finder = new Elite_Vaf_Model_Vehicle_Finder($this->schema);
     if ($finder->vehicleExists($this->toTitleArray())) {
         $vehicle = $finder->findOneByLevels($this->toTitleArray());
         return $this->row->id = $vehicle->getId();
     }
     // doesnt exist, insert it
     try {
         $insertAdapter = new Elite_Vaf_Model_Db_Adapter_InsertWrapper($this->getReadAdapter());
         $insertAdapter->insert('elite_definition', $bind);
     } catch (Exception $e) {
         echo $e->getMessage();
         print_r($bind);
         print_r($this->toTitleArray());
         echo $e->getTraceAsString();
         exit;
     }
     $this->row->id = $this->getReadAdapter()->lastInsertId();
 }
    function save()
    {
        $bind = array();
        foreach( $this->getLevelObjs() as $level )
        {
            if(!$level->getTitle())
            {
                $bind[$level->getType().'_id'] = 0;
                continue;
            }
            $level->save( null, null, false );
            $bind[str_replace(' ','_',$level->getType()).'_id'] = $level->getId();
        }

        $finder = new VF_Vehicle_Finder($this->schema);
        if( $finder->vehicleExists($this->toTitleArray()) )
        {
            $vehicle = $finder->findOneByLevels($this->toTitleArray());
            return $this->row->id = $vehicle->getId();
        }
        
        // doesnt exist, insert it
        $insertAdapter = new Elite_Vaf_Model_Db_Adapter_InsertWrapper($this->getReadAdapter());
        $insertAdapter->insert( $this->schema()->definitionTable(), $bind );
        $this->row->id = $this->getReadAdapter()->lastInsertId();
    }