Symfony主义:在simple_array中搜索

问题描述 投票:0回答:1

我在数据库列字段中将值存储为value1,value2,value3,value4,因此存储为simple_array列。

所以我正在使用Doctrine进行搜索:

$searchQuery = $this->getDoctrine()
        ->getRepository('AppBundle:Ads')
        ->createQueryBuilder('p')
        ->andWhere("p.vals <= :value2")
        ->setParameter('value2',  $request->query->get('value2'));
        ->orderBy("p.creationtime", 'DESC');

因此,期望value2位于像value1,value2,value3这样的简单数组的第二个位置,我如何要求QueryBuilder选择字符串中的第二个值?

我认为此查询尝试获取p.vals中的所有值,结果不正确,请选择一个。

如何选择例如p.vals中的第二个值?

mysql sql symfony doctrine query-builder
1个回答
0
投票

我相信您无法使用纯Mysql访问数组列的第n个项目,因为数据已序列化,为此,我将创建一个简单的函数

public function getItemFromArray(array $array, $index)
{
    return isset($array[$index]) ? $array[$index] : null;
}

并且,如果您想查找有条件的物品,则使用该物品

array_filter()
© www.soinside.com 2019 - 2024. All rights reserved.