1

我在类别的前端使用多选。当表单提交时,我以序列化格式保存类别,它将类别数组转换为字符串。

像“ serialize($_Params['categories']) ”。

当我在对数据进行非序列化后尝试创建 Collection 时,不会显示有目的的结果。

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

/* 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();

我怎样才能使它有目的。

请帮忙!

- 谢谢

4

1 回答 1

1

你似乎是 unserialize('categories') 这不是一个变量。您还提到 $_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();
}
于 2012-11-06T07:09:34.160 回答