1
ich diese Methode in meinem Laravel Controller haben:Lehre - bedingt wo
public function getUserOrders($userId) :array{
$results = $this->_em->createQueryBuilder()
->select('Orders.orderItemCount')
->from($this->entityClass, 'Orders')
->Where("Orders.orderItemCount > '0'")
->andWhere("Orders.orderTotalPrice > '0'")
->andWhere("Orders.usersUserId = '{$userId}'")
->getQuery()->getArrayResult();
return $results;
}
Ich möchte diese Methode ändern, die $ userId optional sein, so letzte Bedingung ist in dieser Situation nicht erforderlich:
public function getUserOrders($userId = NULL) :array{
$results = $this->_em->createQueryBuilder()
->select('Orders.orderItemCount')
->from($this->entityClass, 'Orders')
->Where("Orders.orderItemCount > '0'")
->andWhere("Orders.orderTotalPrice > '0'")
if (!is_null($userId))
->andWhere("Orders.usersUserId = '{$userId}'")
->getQuery()->getArrayResult();
return $results;
}
Ich versuche herauszufinden, was der beste Weg ist, dies zu erreichen. Irgendein Vorschlag?
Parse Versuchen: Syntaxfehler, unerwartete '->' (T_OBJECT_OPERATOR) – AFN
die Fehler geben Linie ..? Versuchen Sie, den Code –
zu aktualisieren. Sehen Sie sich Ihren Code an. Sie haben ein Semikolon auf '-> andWhere (" Orders.orderTotalPrice> '0' ");'. Selbst wenn Sie das Semikolon entfernen, wird es auch nicht funktionieren. Hier gibt es mehr zu tun. – Ohgodwhy