Joomla 3.x加载表格带有序列化数据

时间:2016-04-12 08:35:57

标签: serialization joomla joomla-component

我正在序列化一些数据,以便将它们作为序列化存储在数据库中。 原因是因为我不想在数据库中创建30列。

我已经覆盖了save方法,并且它们被成功保存为序列化字符串。问题是如何在编辑字段时填写表单字段。

               <field
                    name="tickets][price]"
                    type="text"
                    default=""
                    class="span6" />

我应该如何编辑loadFormData或如何解决此问题?

protected function loadFormData()
    {
        $data = JFactory::getApplication()->getUserState(
            'com_buildings.edit.building.data',
            array()
        );

        if (empty($data))
        {
            $data = $this->getItem();

            $data->tickets = unserialize($data->tickets);
        }

        return $data;
    }

1 个答案:

答案 0 :(得分:0)

您是否意识到序列化数据在搜索方面要困难得多?只是想确保您想在一个点上搜索您的数据(而不仅仅是存储它)。

话虽如此,您应该替换以下行:

$data->tickets = unserialize($data->tickets);

有了这个:

if (unserialize($data->tickets) !== FALSE)
    $data->tickets = unserialize($data->tickets);