如何使用 knplas translatable 对翻译后的实体进行排序

问题描述

我有职业表:

class XRefOccupation implements TranslatableInterface
{

    use TranslatableTrait;

    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    public function getId(): ?int
    {
        return $this->id;
    }
}

和对应的翻译表:

class XRefOccupationTranslation implements TranslationInterface
{

    use TranslationTrait;

    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string",length=50,unique=true)
     * @Assert\NotBlank
     * @Assert\Length(max=50)
     */
    protected $occupation;

    public function getoccupation(): string
    {
        return $this->occupation;
    }

    public function setoccupation(string $occupation): self
    {
        $this->occupation = $occupation;

        return $this;
    }
}

查询我的实体:

public function getAllAsc() {
    return $this->createqueryBuilder('o')
        ->leftJoin('o.translations','t')
        ->addSelect('t')
        ->orderBy('t.occupation','ASC')
        ->getQuery()
        ->getResult()
    ;
}

但我无法获得按“职业”排序的列表(领域职业的翻译在一个集合中)。该列表始​​终按 id 排序。 有想法吗?

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...