1
我在Laravel控制器有這樣的方法:主義 - 有條件的地方
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;
}
我想改變這個方法$用戶id將是可選的,所以最後一個條件是不是在這種情況下要求:
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;
}
我想弄清楚什麼是實現這一目標的最佳方法。任何建議?
解析錯誤:語法錯誤,意外 ' - >'(T_OBJECT_OPERATOR) – AFN
哪一行給出的錯誤..?嘗試更新代碼 –
看看你的代碼。你在' - >和Where(「Orders.orderTotalPrice>'0'」);'上有分號。即使您刪除了分號,它也無法工作。這裏還有更多的事情要做。 – Ohgodwhy