From c8220ba39c5c56d82644ad09a46cd750328ec410 Mon Sep 17 00:00:00 2001 From: Jeremy Dormitzer Date: Sun, 25 Nov 2018 15:51:04 -0500 Subject: [PATCH] [WIP] Still broken, but getting there --- src/Objects/ObjectsService.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Objects/ObjectsService.php b/src/Objects/ObjectsService.php index a336f42..8928d3b 100644 --- a/src/Objects/ObjectsService.php +++ b/src/Objects/ObjectsService.php @@ -120,15 +120,18 @@ class ObjectsService ->from( '\ActivityPub\Entities\ActivityPubObject', "object$nextDepth" ) ->join( "object$nextDepth.fields", "field$nextDepth" ) ->where( $this->getWhereExpr( $subQuery, $fieldValue, $nextDepth ) ); - $exprs[] = $qb->expr()->in( - "field$depth.targetObject", - $subQuery->getDql() + $exprs[] = $qb->expr()->andX( + $qb->expr()->like( "field$depth.name", $qb->expr()->literal( $fieldName ) ), + $qb->expr()->in( "field$depth.targetObject", $subQuery->getDql()) ); } else { $subExprs = array(); - foreach ( $fieldValue as $subFieldName => $subFieldValue ) { - $subExprs[] = $this->getWhereExpr( - $qb, array( $subFieldName => $subFieldValue ), $nextDepth + foreach ( $fieldValue as $subQuery ) { + $subExprs[] = $qb->expr()->andX( + $qb->expr()->like( + "field$depth.name", $qb->expr()->literal( $fieldName ) + ), + $this->getWhereExpr( $qb, $subQuery, $nextDepth ) ); } $exprs[] = call_user_func_array(