tag remove name get_the_tags first etiquetas all php doctrine2 zend-framework2

php - remove - ¿Cómo hacer unirte a Doctrina?



remove html tags php (1)

Si tiene una asociación en una propiedad que apunta al usuario (digamos Credit/Entity/UserCreditHistory#user , escogida de su ejemplo), la sintaxis es bastante simple:

public function getHistory($users) { $qb = $this->entityManager->createQueryBuilder(); $qb ->select(''a'', ''u'') ->from(''Credit/Entity/UserCreditHistory'', ''a'') ->leftJoin(''a.user'', ''u'') ->where(''u = :user'') ->setParameter(''user'', $users) ->orderBy(''a.created_at'', ''DESC''); return $qb->getQuery()->getResult(); }

Ya que está aplicando una condición en el resultado unido aquí, usar LEFT JOIN o simplemente JOIN es lo mismo.

Si no hay ninguna asociación disponible, la consulta se parece a la siguiente

public function getHistory($users) { $qb = $this->entityManager->createQueryBuilder(); $qb ->select(''a'', ''u'') ->from(''Credit/Entity/UserCreditHistory'', ''a'') ->leftJoin( ''User/Entity/User'', ''u'', /Doctrine/ORM/Query/Expr/Join::WITH, ''a.user = u.id'' ) ->where(''u = :user'') ->setParameter(''user'', $users) ->orderBy(''a.created_at'', ''DESC''); return $qb->getQuery()->getResult(); }

Esto producirá un conjunto de resultados que se parece a lo siguiente:

array( array( 0 => UserCreditHistory instance, 1 => Userinstance, ), array( 0 => UserCreditHistory instance, 1 => Userinstance, ), // ... )

Esta es mi función donde estoy tratando de mostrar la historia del usuario. Para esto necesito mostrar los créditos actuales del usuario junto con su historial de crédito.

Esto es lo que estoy tratando de hacer:

public function getHistory($users) { $qb = $this->entityManager->createQueryBuilder(); $qb->select(array(''a'',''u'')) ->from(''Credit/Entity/UserCreditHistory'', ''a'') ->leftJoin(''User/Entity/User'', ''u'', /Doctrine/ORM/Query/Expr/Join::WITH, ''a.user = u.id'') ->where("a.user = $users ") ->orderBy(''a.created_at'', ''DESC''); $query = $qb->getQuery(); $results = $query->getResult(); return $results; }

Sin embargo, me sale este error:

[Error de sintaxis] línea 0, columna 98: Error: Doctrine / ORM / Query / Lexer :: T_WITH esperado, se ha activado

Edición : reemplacé ''ON'' con ''WITH'' en la cláusula de unión y ahora lo que veo es solo 1 valor de la columna unida.