1
私は、QueryBuilderを使用してテーブルからいくつかの列を選択する機能を持っています。結果のクエリにカスタム列を追加したいと思います。これは私が持っているものである。このクエリビルダで選択した列にカスタム列を追加するにはどうすればよいですか?
SELECT u.id, "paid" as type FROM users as u WHERE u.deleted_at IS NOT NULL
よう
:
/**
* {@inheritdoc}
*/
public function getPaidOrderAnalytics(
Agents $agent,
ParamFetcher $paramFetcher,
$dateFrom,
$dateTo
)
{
$qb = $this->getEntityManager()->createQueryBuilder();
$qb
->select('
DISTINCT(o.id) as _id,
o.createdAt as order_created_at,
o.publicCost as public_cost,
o.orderStatus as order_status,
srv.services as service_name
')
->addSelect('
"paid" as type
')
->from('ArtelProfileBundle:Orders', 'o')
->leftJoin('o.services', 'srv')
->leftJoin('o.leadService', 'ls')
->leftJoin('ls.lead', 'l')
->andWhere('l.agent = :agent')
->setParameter(':agent', $agent)
->orderBy('o.' . $paramFetcher->get('sort_by'), $paramFetcher->get('sort_order'))
->setFirstResult($paramFetcher->get('count') * ($paramFetcher->get('page') - 1))
->setMaxResults($paramFetcher->get('count'));
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
}
はエラー
[Syntax Error] line 0, col 270: Error: Expected IdentificationVariable | ScalarExpression | AggregateExpression | FunctionDeclaration | PartialObjectExpression | "(" Subselect ")" | CaseExpression, got '"'
がどのようにクエリビルダでの私の選択にカスタム列を追加する必要がありますか?
は、お支払いビルダーで使用されているエンティティのいずれかで「お支払い」ですか? –
dqlで 'distinct'を使うことはできますか? –