"Error":“无法识别的字段:尝试按 ASC 查找时为 0 ORM/Doctrine

"Error": "Unrecognized field: 0 when triyng to findBy ASC ORM/Doctrine

我不确定这里缺少什么语法,但是当我尝试通过 ASC 或 DESC 对我的数据库字段进行排序时

我不断得到:

"Error": "Unrecognized field: 0

我的语法有误吗?我必须添加另一个字段名称吗?

无法理解它。

这是存储库功能:

return $this->findBy([
    'user' => $user,
    ['createDate' => 'asc']
]);

这是实体专栏:

/**
 * @var \DateTime|null
 *
 * @ORM\Column(name="create_date", type="datetime", nullable=true)
 */
private ?\DateTime $createDate;

我尝试使用 createDate 和 create_date none 工作。

您不小心将第二个参数嵌套在第一个参数中(它具有索引 0):

return $this->findBy([ // within this array keys should be fieldnames
    'user' => $user,   // key 'user', value $user
    ['createDate' => 'asc'] // key 0, value array
]);

这应该被称为传递两个单独的数组参数:

return $this->findBy(['user' => $user], ['createDate' => 'asc']);