首先,Symfony2 Orderby特定字段值



symfony2当情况不起作用时。

想要先按特定字段值订购

$query->select('s.firstName as first_name,s.lastName as last_name,sts.name as status_name')
            ->leftJoin('s.studentStatus', 'sts')
            ->where($query->expr()->orx(
                $query->expr()->like('s.internalId', ':internalId'),
            ))
            ->addSelect('(CASE WHEN s.storeID = :location THEN 1 else 2) AS HIDDEN storeOrder')
            ->setParameter('internalId', "%{$internalId}")
            ->setParameter('location', "{$location}")
            ->orderBy('storeOrder', 'ASC')
            ->setMaxResults((int) $limit);

想要首先按列特定值订购,此后还出现其他值。我有SQL查询,但它与以下语法

无法使用

您可以添加隐藏的字段storeOrder,然后在此字段中订购:

$query->select('s.firstName as first_name,s.lastName as last_name,sts.name as status_name')
           ->leftJoin('s.studentStatus', 'sts')
            ->where($query->expr()->orx(
                $query->expr()->like('s.internalId', ':internalId'),
            ))
            ->addSelect('(CASE WHEN s.storeID = :location THEN 1 else 2) AS HIDDEN storeOrder')
            ->setParameter('name', "%{$term}%")
            ->setParameter('internalId', "%{$internalId}")
            ->setParameter('location', "{$location}")
            ->orderBy('storeOrder', 'ASC')
            ->setMaxResults((int) $limit);

案例构建是特定于供应商的,默认情况下不是学说2的一部分。但是,您可以查看学说延迟。您可以在用例中使用IFELSE功能。

相关内容

  • 没有找到相关文章

最新更新