![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mcoil.corals.io/vendor/kalnoy/nestedset/src/ |
<?php namespace Kalnoy\Nestedset; use Illuminate\Database\Eloquent\Model; class AncestorsRelation extends BaseRelation { /** * Set the base constraints on the relation query. * * @return void */ public function addConstraints() { if ( ! static::$constraints) return; $this->query->whereAncestorOf($this->parent) ->applyNestedSetScope(); } /** * @param Model $model * @param $related * * @return bool */ protected function matches(Model $model, $related) { return $related->isAncestorOf($model); } /** * @param QueryBuilder $query * @param Model $model * * @return void */ protected function addEagerConstraint($query, $model) { $query->orWhereAncestorOf($model); } /** * @param $hash * @param $table * @param $lft * @param $rgt * * @return string */ protected function relationExistenceCondition($hash, $table, $lft, $rgt) { $key = $this->getBaseQuery()->getGrammar()->wrap($this->parent->getKeyName()); return "{$table}.{$rgt} between {$hash}.{$lft} and {$hash}.{$rgt} and $table.$key <> $hash.$key"; } }