Ejemplo n.º 1
0
 /**
  * Return an array of all the primary keys of the related table.
  *
  * @param   string  table name
  * @param   object  ORM model to find relations of
  * @return  array
  */
 protected function load_relations($table, ORM $model)
 {
     // Save the current query chain (otherwise the next call will clash)
     $this->db->push();
     $query = $this->db->select($model->foreign_key(NULL) . ' AS id')->from($table)->where($this->foreign_key(NULL, $table), $this->object[$this->primary_key])->get()->result(TRUE);
     $this->db->pop();
     $relations = array();
     foreach ($query as $row) {
         $relations[] = $row->id;
     }
     return $relations;
 }
Ejemplo n.º 2
0
 /**
  * Return an array of all the primary keys of the related table.
  *
  * @param   string  table name
  * @param   object  ORM model to find relations of
  * @return  array
  */
 protected function load_relations($table, ORM $model)
 {
     $result = db::select(array('id' => $model->foreign_key($table)))->from($table)->where($this->foreign_key($table, $table), '=', $this->primary_key_value)->execute($this->db)->as_object();
     $relations = array();
     foreach ($result as $row) {
         $relations[] = $row->id;
     }
     return $relations;
 }
Ejemplo n.º 3
0
 /**
  * Return an array of all the primary keys of the related table.
  *
  * @param   string  table name
  * @param   object  ORM model to find relations of
  * @return  array
  */
 protected function load_relations($table, ORM $model)
 {
     $query = $this->db->select($model->foreign_key(NULL) . ' AS id')->from($table)->where($this->foreign_key(NULL, $table), $this->object[$this->primary_key])->get()->result(TRUE);
     $relations = array();
     foreach ($query as $row) {
         $relations[] = $row->id;
     }
     return $relations;
 }
Ejemplo n.º 4
0
Archivo: ORM.php Proyecto: Toushi/flow
 /**
  * Tests if this object has a relationship to a different model.
  *
  * @param   object   related ORM model
  * @return  boolean
  */
 public function has(ORM $model)
 {
     if (!$this->loaded) {
         return FALSE;
     }
     if (($join_table = array_search(inflector::plural($model->object_name), $this->has_and_belongs_to_many)) === FALSE) {
         return FALSE;
     }
     if (is_int($join_table)) {
         // No "through" table, load the default JOIN table
         $join_table = $model->join_table($this->table_name);
     }
     if ($model->loaded) {
         // Select only objects of a specific id
         $this->db->where($model->foreign_key(NULL, $join_table), $model->primary_key_value);
     }
     // Return the number of rows that exist
     return $this->db->where($this->foreign_key(NULL, $join_table), $this->object[$this->primary_key])->count_records($join_table);
 }