Example #1
0
 /**
  * Join meta attributes table.
  *
  * @param  \Sofa\Eloquence\Builder $query
  * @param  string $column
  * @return string
  */
 protected function joinMeta(Builder $query, $column)
 {
     $query->prefixColumnsForJoin();
     $alias = $this->generateMetaAlias();
     $table = (new Attribute())->getTable();
     $query->leftJoin("{$table} as {$alias}", function ($join) use($alias, $column) {
         $join->on("{$alias}.metable_id", '=', $this->getQualifiedKeyName())->where("{$alias}.metable_type", '=', $this->getMorphClass())->where("{$alias}.meta_key", '=', $column);
     });
     return $alias;
 }