Illuminate\Database\Eloquent\Relations\BelongsTo::getRelationQueryForSelfRelation PHP Method

getRelationQueryForSelfRelation() public method

Add the constraints for a relationship query on the same table.
public getRelationQueryForSelfRelation ( Builder $query, Builder $parent, array | mixed $columns = ['*'] ) : Builder
$query Illuminate\Database\Eloquent\Builder
$parent Illuminate\Database\Eloquent\Builder
$columns array | mixed
return Illuminate\Database\Eloquent\Builder
    public function getRelationQueryForSelfRelation(Builder $query, Builder $parent, $columns = ['*'])
    {
        $query->select($columns);
        $query->from($query->getModel()->getTable() . ' as ' . ($hash = $this->getRelationCountHash()));
        $query->getModel()->setTable($hash);
        $key = $this->wrap($this->getQualifiedForeignKey());
        return $query->where($hash . '.' . $query->getModel()->getKeyName(), '=', new Expression($key));
    }