public function mapPreload($side, $preloadProperty, $reusableResult, $plan, $relatedLoader) { if ($preloadProperty instanceof Value\Preload\Owner) { $owner = $preloadProperty->owner(); return $this->relationship->ownerPropertyPreloader($owner); } return parent::mapPreload($side, $preloadProperty, $reusableResult, $plan, $relatedLoader); }
public function linkPlan($config, $owner, $item) { $unlinkPlan = $this->getUnlinkPlan($config, true, $owner, true, $item, 'or'); $linkPlan = parent::linkPlan($config, $owner, $item); $plan = $this->plans->steps(); $plan->appendPlan($unlinkPlan); $plan->appendPlan($linkPlan); return $plan; }