Easy Admin 3 按日期排序返回:create_date 没有名为 create_date 的字段或关联
Posted
技术标签:
【中文标题】Easy Admin 3 按日期排序返回:create_date 没有名为 create_date 的字段或关联【英文标题】:Easy Admin 3 Sort by date returns: create_date has no field or association named create_date 【发布时间】:2021-09-12 08:47:02 【问题描述】:我正在尝试按 asc 或 desc 日期对字段进行排序。
当我像这样将日期字段添加到我的后端时
DateTimeField::new('create_date', 'Create Date')->setSortable(true),
它可以工作并且显示,但是当我尝试对其进行排序时,我得到以下错误
[Semantical Error] line 0, col 62 near 'create_date ': Error: Class App\\Entity\\MyEntitiy has no field or association named create_date File:/home/wwwroot/htdocs/vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php Line: 63
有谁知道为什么或如何发生这种情况?
谢谢
编辑:这是 MyEntity 中的字段
/**
* @var \DateTime|null
*
* @ORM\Column(name="create_date", type="datetime", nullable=true)
*/
private $createDate;
/**
* Returns the CreateDate
*
* @return \DateTime|null
*/
public function getCreateDate(): ?\DateTime
return $this->createDate;
/**
* Sets the CreateDate
*
* @param \DateTime|null $createDate
* @return void
*/
public function setCreateDate(?\DateTime $createDate)
$this->createDate = $createDate;
【问题讨论】:
好吧..我们可以看到您的实体,尤其是您的财产“create_date”吗?这似乎不存在? 是的,这就是问题所在。确实如此。我将分享它:D 请看帖子,我加了。 @DylanKas 奇怪的行为是我看到列表中的所有日期,只是当我点击对它们进行排序时,我得到了错误。 【参考方案1】:您没有尊重您的财产的正确拼写。
在您的实体中,该字段称为 createDate
,因此您在配置 crud 时应使用相同的名称。
在你的情况下:
DateTimeField::new('createDate', 'Create Date')->setSortable(true),
【讨论】:
以上是关于Easy Admin 3 按日期排序返回:create_date 没有名为 create_date 的字段或关联的主要内容,如果未能解决你的问题,请参考以下文章