如何用easyadmin中的数字传说者显示无效的值
我有一个“ shopsurface”,这是无效的,不需要的。
在EA中,我添加了一个数字窗口:numericFilter :: new('shopsurface','shop_surface')
。
如果我想要所有没有shopsurface
的条目,我会寻找等于
,并且我留下了空白,但什么也没有出现,列表是空的,而我有一些。
您知道一种使它出现的方法吗?
编辑
这是我的工作方式:
public function apply(QueryBuilder $queryBuilder, FilterDataDto $filterDataDto, ?FieldDto $fieldDto, EntityDto $entityDto): void
{
$alias = $filterDataDto->getEntityAlias();
$property = $filterDataDto->getProperty();
$comparison = $filterDataDto->getComparison();
$parameterName = $filterDataDto->getParameterName();
$parameter2Name = $filterDataDto->getParameter2Name();
$value = $filterDataDto->getValue();
$value2 = $filterDataDto->getValue2();
if (ComparisonType::BETWEEN === $comparison) {
$queryBuilder->andWhere(sprintf('%s.%s BETWEEN :%s and :%s', $alias, $property, $parameterName, $parameter2Name))
->setParameter($parameterName, $value)
->setParameter($parameter2Name, $value2);
} else {
$queryBuilder->andWhere(sprintf('%s.%s %s :%s', $alias, $property, $comparison, $parameterName))
->setParameter($parameterName, $value);
}
if (ComparisonType::EQ === $comparison && '' === $value){
$queryBuilder->andWhere(sprintf('%s IS NULL', $alias));
}
}
I've got a field 'shopSurface' which is nullable and not required.
In EA I added a NumericFilter:NumericFilter::new('shopSurface', 'shop_surface')
.
If I want all the entries which have not shopSurface
I look for equal to
and I leave empty the field but nothing appear, the list is empty while I have some.
Do you know a way to make it appear ?
EDIT
This is how I did :
public function apply(QueryBuilder $queryBuilder, FilterDataDto $filterDataDto, ?FieldDto $fieldDto, EntityDto $entityDto): void
{
$alias = $filterDataDto->getEntityAlias();
$property = $filterDataDto->getProperty();
$comparison = $filterDataDto->getComparison();
$parameterName = $filterDataDto->getParameterName();
$parameter2Name = $filterDataDto->getParameter2Name();
$value = $filterDataDto->getValue();
$value2 = $filterDataDto->getValue2();
if (ComparisonType::BETWEEN === $comparison) {
$queryBuilder->andWhere(sprintf('%s.%s BETWEEN :%s and :%s', $alias, $property, $parameterName, $parameter2Name))
->setParameter($parameterName, $value)
->setParameter($parameter2Name, $value2);
} else {
$queryBuilder->andWhere(sprintf('%s.%s %s :%s', $alias, $property, $comparison, $parameterName))
->setParameter($parameterName, $value);
}
if (ComparisonType::EQ === $comparison && '' === $value){
$queryBuilder->andWhere(sprintf('%s IS NULL', $alias));
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您有2种解决方案:
或
如果您需要一些帮助,请毫不犹豫。
You have 2 solutions :
OR
If you need some help do not hesitate.