2016-04-12 3 views
0

Я сериализую некоторые данные, чтобы сохранить их в базе данных как сериализованные. Причина в том, что я не хочу создавать 30 столбцов в базе данных.Форма загрузки Joomla 3.x с сериализованными данными

Я переопределил метод 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; 
    } 

ответ

0

Знаете ли вы, что сериализованные данные намного сложнее, когда дело доходит до поиска? Просто хотел убедиться в том, что вы хотели бы искать свои данные в какой-то момент (и не только хранить его).

Сказав это, вы должны заменить следующую строку:

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

С этим:

if (unserialize($data->tickets) !== FALSE) 
    $data->tickets = unserialize($data->tickets); 
Смежные вопросы