Esempio n. 1
0
 /**
  * Add the constraints for a relationship query.
  *
  * @param  \Illuminate\Database\Eloquent\Builder  $query
  * @param  \Illuminate\Database\Eloquent\Builder  $parent
  * @param  array|mixed  $columns
  * @return \Illuminate\Database\Eloquent\Builder
  */
 public function getRelationQuery(Builder $query, Builder $parent, $columns = ['*'])
 {
     if ($parent->getQuery()->from == $query->getQuery()->from) {
         return $this->getRelationQueryForSelfRelation($query, $parent, $columns);
     }
     return parent::getRelationQuery($query, $parent, $columns);
 }
 /**
  * Add the constraints for a relationship query on the same table.
  *
  * @param  \Illuminate\Database\Eloquent\Builder  $query
  * @param  \Illuminate\Database\Eloquent\Builder  $parent
  * @param  array|mixed  $columns
  * @return \Illuminate\Database\Eloquent\Builder
  */
 public function getRelationQueryForSelfJoin(Builder $query, Builder $parent, $columns = ['*'])
 {
     $query->select($columns);
     $query->from($this->related->getTable() . ' as ' . ($hash = $this->getRelationCountHash()));
     $this->related->setTable($hash);
     $this->setJoin($query);
     return parent::getRelationQuery($query, $parent, $columns);
 }