Skip to content

Commit 9d60a7d

Browse files
committed
support for oneToMany and oneToOne conditional preload
1 parent 4c47e1d commit 9d60a7d

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/PHPixie/ORM/Relationships/Type/OneTo/Handler.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,14 @@ public function mapPreload($side, $preloadProperty, $reusableResult, $plan, $rel
238238
$resultField,
239239
$plan
240240
);
241-
241+
$preload = $preloadProperty->preload();
242+
$options = $preloadProperty->options();
243+
244+
if(isset($options['queryCallback'])) {
245+
$callback = $options['queryCallback'];
246+
$callback($query);
247+
}
248+
242249
$preloadStep = $this->steps->reusableResult($query);
243250
$plan->add($preloadStep);
244251
$loader = $this->loaders->reusableResult($preloadRepository, $preloadStep);
@@ -248,7 +255,7 @@ public function mapPreload($side, $preloadProperty, $reusableResult, $plan, $rel
248255
$this->mappers->preload()->map(
249256
$preloadingProxy,
250257
$preloadRepository->modelName(),
251-
$preloadProperty->preload(),
258+
$preload,
252259
$preloadStep,
253260
$plan,
254261
$cachingProxy

0 commit comments

Comments
 (0)