2 回答

TA貢獻1155條經驗 獲得超0個贊
QueryBuilder有兩種方法來設置查詢參數。
您正在使用的那個 ( setParameters(array $parameters),并且更簡單setParameter($parameterName, $parameterValue).
使用后者而不是您正在使用的那個,您可以在需要的地方設置參數:
if (count($position) > 0) {
$qb->andWhere($qb->expr()->orX(
$qb->expr()->andX("e.location = :location"),
$qb->expr()->andX("e.location = :loc")
))
->setParameter('location', $position["location"])
->setParameter('loc', $position["loc"]);
}

TA貢獻1780條經驗 獲得超1個贊
您可以創建包含條件參數的 parameteR 數組。
if (count($position) > 0) {
$qb->andWhere($qb->expr()->orX(
$qb->expr()->andX("e.location = :location"),
$qb->expr()->andX("e.location = :loc")
));
$parameter["location"] = $position["location"];
$parameter["loc"] = $position["loc"];
}
然后將這個參數數組傳遞并合并到 setParameters 方法中。
$qb->setParameters(array_merge(
array(
"vehicleId" => $vehicleId,
"schemaId" => $schemaId,
),
$parameters
));
- 2 回答
- 0 關注
- 122 瀏覽
添加回答
舉報