如何在 formbuilder 中使用带有选择标签的查询生成器?
How can I use the querybuilder with choice label in formbuilder?
我正在使用带有选择标签的 formbuilder querybuilder:
$options['query_builder'] = function (EntityRepository $er) use ($fieldId) {
$output = $er->createQueryBuilder('c')
->orderBy('c.name', 'ASC');
return $output;
};
$options['choice_label'] = 'category';
效果很好,当我尝试获取名称时也是如此:
$options['choice_label'] = 'name';
但我需要的是下拉菜单中两者的组合,但仍保持顺序。
$options['choice_label'] = 'category -> name';
我不知道该怎么做。我很感激任何建议。
'choice_label' 也可以与函数一起使用 (docs).
'choice_label' => function (Category $category) {
return $category->getId() . ' -> ' . $category->getName();
}
按类别名称对结果进行排序应该可行:
'query_builder' => function (EntityRepository $er) use ($fieldId) {
$output = $er->createQueryBuilder('c')
->join('c.category', 'ca')
->orderBy('ca.name', 'ASC')
->addOrderBy('c.name', 'ASC');
return $output;
};
我正在使用带有选择标签的 formbuilder querybuilder:
$options['query_builder'] = function (EntityRepository $er) use ($fieldId) {
$output = $er->createQueryBuilder('c')
->orderBy('c.name', 'ASC');
return $output;
};
$options['choice_label'] = 'category';
效果很好,当我尝试获取名称时也是如此:
$options['choice_label'] = 'name';
但我需要的是下拉菜单中两者的组合,但仍保持顺序。
$options['choice_label'] = 'category -> name';
我不知道该怎么做。我很感激任何建议。
'choice_label' 也可以与函数一起使用 (docs).
'choice_label' => function (Category $category) {
return $category->getId() . ' -> ' . $category->getName();
}
按类别名称对结果进行排序应该可行:
'query_builder' => function (EntityRepository $er) use ($fieldId) {
$output = $er->createQueryBuilder('c')
->join('c.category', 'ca')
->orderBy('ca.name', 'ASC')
->addOrderBy('c.name', 'ASC');
return $output;
};