奏鸣曲日期过滤器不起作用

问题描述

我有一个带有简单 date 字段的实体。

/**
 * @ORM\Column(type="date")
 */
private $date;

public function getDate(): ?DateTimeInterface
{
    return $this->date;
}

管理员中,我已将其添加到过滤器中:

/**
 * @param DatagridMapper $datagridMapper
 */
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
    $datagridMapper->add('name')
        ->add('date',datefilter::class)
        ->add('address');
}

我试过这个没有添加类型,结果是一样的。过滤器不起作用。

对于 name 字段,它工作正常。

symfony 生成的 URL:

admin/app/complaint/list?filter%5Bsubscription_date%5D%5Bvalue%5D%5Bmonth%5D=2

一开始我想,也许 date一个保留名称,但问题并非如此。我有一个字段,名为 subscription_date,我已经尝试过,但也不起作用。

我还用探查器检查了生成查询,没有条件:

SELECT COUNT(*) AS dctrn_count FROM (SELECT disTINCT id_0 FROM (SELECT c0_.id AS id_0,c0_.lat AS lat_1,c0_.lng AS lng_2,c0_.subscription_date AS subscription_date_3,c0_.name AS name_4,c0_.address AS address_5,c0_.weburl AS weburl_6,c0_.date AS date_7,c0_.description AS description_8,c0_.image AS image_9,c0_.pdf AS pdf_10,c0_.video_url AS video_url_11 FROM complaint c0_) dctrn_result) dctrn_table;

图片

screenshot

编辑

如果我填写了所有字段(年、月、日),则过滤器会起作用。因为 symfony 没有给我任何错误或警告,我想,我可以过滤所有日期,例如四月。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)