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;
}
私は$のuserIdはオプションとなります。この方法を変更したいので、最後の条件は、このような状況で必要とされていません。
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
を..?更新されたコードを試してください –
あなたのコードを見てください。 ' - > andWhere(" Orders.orderTotalPrice> '0' ");'にセミコロンがあります。セミコロンを削除しても、セミコロンは機能しません。ここでもっとやるべきことがあります。 – Ohgodwhy