Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

как в yii сделать сохранение multiselect select в модели?

Практика




как в yii сделать сохранение multiselect select в модели?

в моделе добавьте
public function afterFind()
{

if ($this->data_multiselect=='') $this->data_multiselect=array();
else $this->data_multiselect= unserialize($this->data_multiselect);
return parent::afterFind();
}


public function beforeSave()
{
$this->data_multiselect_sub= serialize($this->data_multiselect);
return parent::beforeSave();
}





в контроллере

if (isset($_POST['LUser']['data_multiselect']))
$model_user->data_multiselect= $_POST['LUser']['data_multiselect'];
else ($model_user->data_multiselect = array());




в viewer
$types[id]=array(1=>'первый', 2=>'второй', 3=>'третий');

echo $form->listBox($model, 'data_multiselec', $types, array('multiple' => 'multiple' ));



и конечно пропишите поле в базе данных как строку
в rules модели
public function rules() {
return array(
array('названия полей, названия полей,data_multiselec', 'safe', 'on' => 'search', ),
array('названия полей, data_multiselec', 'default', 'value' => 0),
array('avatar', 'file', 'allowEmpty'=>true, 'types'=>'jpg, gif, png'),
);
}


в public function search() модели


...
$criteria->compare('data_multiselec', $this->data_multiselec);
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
));



и конечноже свойство в моделе

public $data_multiselec;
создано: 2014-02-17
обновлено: 2024-11-14
504



Рейтиг 10 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Фреймворки. Famworks ( программная платформа)

Термины: Фреймворки. Famworks ( программная платформа)