Exemple #1
0
 /**
  * Get the hydrated models without eager loading.
  *
  * @param  array  $columns
  * @return \Nova\Database\ORM\Model[]
  */
 public function getModels($columns = array('*'))
 {
     $results = $this->query->get($columns);
     $connection = $this->model->getConnectionName();
     $models = array();
     foreach ($results as $result) {
         $models[] = $model = $this->model->newFromBuilder($result);
         $model->setConnection($connection);
     }
     return $models;
 }
Exemple #2
0
 /**
  * Create a new pivot model instance.
  *
  * @param  \Nova\Database\ORM\Model  $parent
  * @param  array   $attributes
  * @param  string  $table
  * @param  bool    $exists
  * @return void
  */
 public function __construct(Model $parent, $attributes, $table, $exists = false)
 {
     parent::__construct();
     //
     $this->setRawAttributes($attributes, true);
     $this->setTable($table);
     $this->setConnection($parent->getConnectionName());
     //
     $this->parent = $parent;
     $this->exists = $exists;
     $this->timestamps = $this->hasTimestampAttributes();
 }
Exemple #3
0
 /**
  * Create a new pivot model instance.
  *
  * @param  \Nova\Database\ORM\Model  $parent
  * @param  array   $attributes
  * @param  string  $table
  * @param  bool    $exists
  * @return void
  */
 public function __construct(Model $parent, $attributes, $table, $exists = false)
 {
     parent::__construct();
     // The pivot model is a "dynamic" model since we will set the tables dynamically
     // for the instance. This allows it work for any intermediate tables for the
     // many to many relationship that are defined by this developer's classes.
     $this->setRawAttributes($attributes, true);
     $this->setTable($table);
     $this->setConnection($parent->getConnectionName());
     // We store off the parent instance so we will access the timestamp column names
     // for the model, since the pivot model timestamps aren't easily configurable
     // from the developer's point of view. We can use the parents to get these.
     $this->parent = $parent;
     $this->exists = $exists;
     $this->timestamps = $this->hasTimestampAttributes();
 }
Exemple #4
0
 /**
  * Get the hydrated models without eager loading.
  *
  * @param  array  $columns
  * @return \Nova\Database\ORM\Model[]
  */
 public function getModels($columns = array('*'))
 {
     // First, we will simply get the raw results from the query builders which we
     // can use to populate an array with ORM models. We will pass columns
     // that should be selected as well, which are typically just everything.
     $results = $this->query->get($columns);
     $connection = $this->model->getConnectionName();
     $models = array();
     // Once we have the results, we can spin through them and instantiate a fresh
     // model instance for each records we retrieved from the database. We will
     // also set the proper connection name for the model after we create it.
     foreach ($results as $result) {
         $models[] = $model = $this->model->newFromBuilder($result);
         $model->setConnection($connection);
     }
     return $models;
 }