Mysql 具有负整数的排序属性
我想使用以下属性对地址查询结果进行排序:Mysql 具有负整数的排序属性,mysql,sorting,symfony,orm,dql,Mysql,Sorting,Symfony,Orm,Dql,我想使用以下属性对地址查询结果进行排序: /** * @ORM\Column(length=10) */ private $block; /** * @ORM\Column(length=10) */ private $stairs; /** * @ORM\Column(length=10) */ private $floor; /** * @ORM\Column(length=10) */ private $door; 从属性实体 因此,我在关联类(社区)中: 如您所见
/**
* @ORM\Column(length=10)
*/
private $block;
/**
* @ORM\Column(length=10)
*/
private $stairs;
/**
* @ORM\Column(length=10)
*/
private $floor;
/**
* @ORM\Column(length=10)
*/
private $door;
从属性
实体
因此,我在关联类(社区)中:
如您所见,属性不是整数,因此它们似乎总是按字符串排序
当它必须对负数进行排序时,结果不符合逻辑。例如
logic blocks sorting: -3, -2, -1, 0, 1, ...
sorting result : -1, -2, -3, 0, 1, ...
只要将属性类型更改为整数,问题就会得到解决,但我需要提供获取字符串而不是整数的选项。例如,区块:A1,或仅A
我唯一能想到的解决办法是当
-
符号后面有一个整数时,将其检测为负号。但必须有更好的方法来实现这种行为。有什么想法吗?< /P>如果控制排序顺序并具有可读值是非常重要的,那么考虑添加BoeSoad、LoopRead等整数列。您可以做一些重要的工作来或多或少地自动设置值。@Cerad-好主意!我会努力的。@Cerad-我是按照你说的做的。谢谢
logic blocks sorting: -3, -2, -1, 0, 1, ...
sorting result : -1, -2, -3, 0, 1, ...