Magento:如何在进行收集时使用序列化数据进行筛选?

Magento:如何在进行收集时使用序列化数据进行筛选?,magento,Magento,我在前端使用Multi-select进行分类。表单提交后,我以序列化格式保存类别,将类别数组转换为字符串 比如“序列化($参数['categories'])” 当我在使数据未序列化后尝试创建集合时,它不会显示有目的的结果 收集我正在尝试创建的内容- /* Store Collection */ $_Params = $this->getRequest()->getParams(); if($_Params['category']): $_Collection = $this

我在前端使用Multi-select进行分类。表单提交后,我以序列化格式保存类别,将类别数组转换为字符串

比如“序列化($参数['categories'])

当我在使数据未序列化后尝试创建集合时,它不会显示有目的的结果

收集我正在尝试创建的内容-

/* Store Collection */
$_Params = $this->getRequest()->getParams();

if($_Params['category']):
    $_Collection = $this->getStoreCollection()
        ->addFieldToFilter('approval_status', array('eq' => 'approved'))
        ->addFieldToFilter(unserialize('categories'), array(
        'in' => $_Params['category'],
        ))
        ->getData();
我怎样才能使它有目的性

请帮忙

- 谢谢

您似乎没有序列化(“类别”),这不是一个变量。您还提到$_Params['category']是一个序列化值,因此我认为这就是您试图实现的目标

/* Store Collection */
$_Params = $this->getRequest()->getParams();

if($_Params['category']){
    $_Collection = $this->getStoreCollection()
        ->addFieldToFilter('approval_status', array('eq' => 'approved'))
        ->addFieldToFilter('categories', array(
        'in' => unserialize($_Params['category']),
    ))
    ->getData();
}
您似乎没有序列化(“类别”),这不是一个变量。您还提到$_Params['category']是一个序列化值,因此我认为这就是您试图实现的目标

/* Store Collection */
$_Params = $this->getRequest()->getParams();

if($_Params['category']){
    $_Collection = $this->getStoreCollection()
        ->addFieldToFilter('approval_status', array('eq' => 'approved'))
        ->addFieldToFilter('categories', array(
        'in' => unserialize($_Params['category']),
    ))
    ->getData();
}