2016-04-12 12 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); 

は、あなたが次の行を置き換える必要があり、と述べました

関連する問題