Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Yii множественные чекбоксы?
Форумы портала PHP.SU » » CMS и фреймворки » Yii множественные чекбоксы?

Страниц (1): [1]
 

1. doomunit - 24 Февраля, 2015 - 17:14:26 - перейти к сообщению
есть такая задача - записать битовую маску в базу.
то есть имеем
ротор, статор, мотор
+ - +
запишется
101
при
ротор, статор, мотор
+ + -
запишется
110

думаю идея ясна.
как это реализовать? дощел пока до такого

PHP:
скопировать код в буфер обмена
  1. <?PHP echo $form->checkBox($model,'estado',  array('checked'=>'checked')); ?>




но как это увязать с формой ввода?

PHP:
скопировать код в буфер обмена
  1. <div class="row">
  2.         <?PHP echo $form->labelEx($model,'m_complect'); ?>
  3.         <?PHP echo $form->textField($model,'m_complect',array('size'=>11,'maxlength'=>11)); ?>
  4.         <?PHP echo $form->error($model,'m_complect'); ?>
  5.     </div>
2. RickMan - 24 Февраля, 2015 - 17:34:18 - перейти к сообщению
Создай в модели 3 переменные (которые будут в модели но не будут в БД и которые будут представлять твои эти элементы битовой маски). Дальше проблема, что эти 3 поля нужно соединить в 1, перед валидацией и сохранением в БД - для этого исполььзуй метод beforeValidate (если не валидируешь то beforeSave) и в этом действии обьединяй 3 поля коотрые есть в модели, в 1 поле которое есть в БД. И при вытаскивании тебе надо это 1 поле разбить на 3, для этого используй afterFind.
3. doomunit - 24 Февраля, 2015 - 18:08:57 - перейти к сообщению
трабла в том что полей не 3, а 10 и может их число увеличиваться. думаю в сторону checkboxlist. в listdata вгружать данные из связанной таблицы. также из данныз базы 101010 указывать какие чекбоксы чекнуты. но вот как вбить в базу данные? думаю про hiddenText .= model->m_sector.
поправьте как правильней и проще сделать
4. RickMan - 25 Февраля, 2015 - 08:59:03 - перейти к сообщению
Я вам дал решение. 3 поля, или 10, хранится в таблице или в поле - совсем не имеет значение. Смотрите на действия afterFind, beforeValidate, beforeSave и так далее. Логику свою подминайте под эту возможность.
5. des1roer - 25 Февраля, 2015 - 10:56:27 - перейти к сообщению
http://des1roer[dot]blogspot[dot]ru/2015[dot][dot][dot]heckboxlist[dot]html

 

Powered by ExBB FM 1.0 RC1