Joomla 3.x 加载带有序列化数据的表单
Joomla 3.x load form with serialized data
我正在序列化一些数据,以便将它们按序列化保存在数据库中。
原因是因为我不想在数据库中创建 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;
}
您知道序列化数据在搜索方面要困难得多吗?只是想确保万一您想一次搜索您的数据(而不仅仅是存储它)。
话虽如此,您应该替换以下行:
$data->tickets = unserialize($data->tickets);
有了这个:
if (unserialize($data->tickets) !== FALSE)
$data->tickets = unserialize($data->tickets);
我正在序列化一些数据,以便将它们按序列化保存在数据库中。 原因是因为我不想在数据库中创建 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;
}
您知道序列化数据在搜索方面要困难得多吗?只是想确保万一您想一次搜索您的数据(而不仅仅是存储它)。
话虽如此,您应该替换以下行:
$data->tickets = unserialize($data->tickets);
有了这个:
if (unserialize($data->tickets) !== FALSE)
$data->tickets = unserialize($data->tickets);