easyadmin 3 - 按链接实体的 属性 而不是 id 排序
easyadmin 3 - Sorting by linked entity’s property instead of id
我有一个实体 Hike 与另一个命名部门有关系
<?php
class Hike
{
private $id;
private $name;
private $description;
/**
* @ORM\ManyToOne(targetEntity=Department::class, inversedBy="hikes")
* @ORM\JoinColumn(nullable=false)
* @Assert\NotBlank(message="libdepartmentRequired")
*/
private $department;
// ...
}
<?php
class Department
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=3)
*/
private $department_code;
/**
* @ORM\Column(type="string", length=255)
*/
private $department_nom;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Hike", mappedBy="department")
*/
private $hikes;
// ...
}
在 easyAdmin3 中渲染很好
但是当我按 department
排序时,我看到 easyAdmin3 按部门 ID 排序,我想按 department_nom
排序
我看到很多解决方案,但它们都使用 easyAdmin2 和 easy_admin.yaml,现在已不存在。
有办法实现吗?
使用 configureCrud。这样的事情应该可以解决问题。
public function configureCrud(Crud $crud): Crud
{
return $crud
->setDefaultSort(['departement' => 'DESC'])
;
}
您也可以使用过滤器来获得想要的结果。
我有一个实体 Hike 与另一个命名部门有关系
<?php
class Hike
{
private $id;
private $name;
private $description;
/**
* @ORM\ManyToOne(targetEntity=Department::class, inversedBy="hikes")
* @ORM\JoinColumn(nullable=false)
* @Assert\NotBlank(message="libdepartmentRequired")
*/
private $department;
// ...
}
<?php
class Department
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=3)
*/
private $department_code;
/**
* @ORM\Column(type="string", length=255)
*/
private $department_nom;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Hike", mappedBy="department")
*/
private $hikes;
// ...
}
在 easyAdmin3 中渲染很好
但是当我按 department
排序时,我看到 easyAdmin3 按部门 ID 排序,我想按 department_nom
我看到很多解决方案,但它们都使用 easyAdmin2 和 easy_admin.yaml,现在已不存在。
有办法实现吗?
使用 configureCrud。这样的事情应该可以解决问题。
public function configureCrud(Crud $crud): Crud
{
return $crud
->setDefaultSort(['departement' => 'DESC'])
;
}
您也可以使用过滤器来获得想要的结果。