Проблема с чекбоксами при обновлении записи

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
spayn
Сообщения: 9
Зарегистрирован: 2015.03.15, 14:01

Проблема с чекбоксами при обновлении записи

Сообщение spayn »

Всем привет. Столкнулся с такой задачей:

При добавлении записи есть чекбокс, когда пользователь его выбирает в базу записываю "да", иначе "нет". Проблема возникает, когда открываю эту запись на редактирование - чекбокс всегда не выбран, и без разницы, что лежит в базе.

Как мне управлять состоянием чекбокса при редактировании, в зависимости от данных в БД?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение SiZE »

Видимо у тебя где-то все же переопределяется значение.
spayn
Сообщения: 9
Зарегистрирован: 2015.03.15, 14:01

Re: Проблема с чекбоксами при обновлении записи

Сообщение spayn »

Я пока не очень понимаю, как отрабатывается чекбокс при обновлении записи. Скажите, пожалуйста, где переопределение может быть? Куда копать?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение ElisDN »

Как Вы этот чекбокс в форму выводите?
spayn
Сообщения: 9
Зарегистрирован: 2015.03.15, 14:01

Re: Проблема с чекбоксами при обновлении записи

Сообщение spayn »

Стандартно, согласно Gii генератору:

Код: Выделить всё

    <div class="row">
        <?php echo $form->labelEx($model,'electricitySupply'); ?>
        <?php echo $form->checkBox($model,'electricitySupply'); ?>
        <?php echo $form->error($model,'electricitySupply'); ?>
    </div>
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение ElisDN »

А что выводит код:

Код: Выделить всё

<?php echo $model->electricitySupply; ?>
spayn
Сообщения: 9
Зарегистрирован: 2015.03.15, 14:01

Re: Проблема с чекбоксами при обновлении записи

Сообщение spayn »

Выводится "нет", или "да", т.е. то,что хранится в базе.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение ElisDN »

Ну так чекбоксу 0 или 1 нужен.
spayn писал(а):Скажите, пожалуйста, где переопределение может быть?
Там, где Вы превращаете 0 в "да" и 1 в "нет".

Лучше храните в базе числом в поле типа SMALLINT(1) или BOOLEAN.
spayn
Сообщения: 9
Зарегистрирован: 2015.03.15, 14:01

Re: Проблема с чекбоксами при обновлении записи

Сообщение spayn »

Ну а я могу получить данные из базы, преобразовать их в "0" или "1" и уже эти данные отдать чекбоксу?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение SiZE »

spayn писал(а):в базу записываю "да", иначе "нет"
Йопт. Я думал ты образно. Тваю ж мышь. :lol:
spayn
Сообщения: 9
Зарегистрирован: 2015.03.15, 14:01

Re: Проблема с чекбоксами при обновлении записи

Сообщение spayn »

Ну ё-моё, я же да/нет записываю для наглядности в процессе разработке. Их удобнее читать, чем нули и единицы. Потом-то естественно заменю 1 и 0.

Ребят, ещё вопрос. Сделал класс, который создаёт мне xml - фид. Появилась задача - по крону выполнять файл, который бы используя мой класс создавал фид, записывая в него записи из нескольких таблиц в БД.

Собственно сам вопрос: как подготовить и куда положить файл для крона? Я пытаюсь сделать так:

Код: Выделить всё

<?php
     Yii::import('system.ext.CreateFeed');
     
     // проход по таблицам и запись в файл
     
?>
Сам файл я положил в protected/extensions. Но я получаю ошибку "Class 'Yii' not found". Что я делаю не так?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение SiZE »

spayn писал(а):Потом-то естественно заменю 1 и 0.
Ты сделал мой день
spayn
Сообщения: 9
Зарегистрирован: 2015.03.15, 14:01

Re: Проблема с чекбоксами при обновлении записи

Сообщение spayn »

SiZE писал(а):
spayn писал(а):Потом-то естественно заменю 1 и 0.
Ты сделал мой день
И чем же?
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение SiZE »

spayn писал(а): Сам файл я положил в protected/extensions. Но я получаю ошибку "Class 'Yii' not found". Что я делаю не так?
Господин, ElisDN, специально для тебя написал статью http://www.elisdn.ru/blog/50/console-commands-in-yii
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Проблема с чекбоксами при обновлении записи

Сообщение SiZE »

spayn писал(а):И чем же?
Ты наверное курсы 1С закончил, тебе не понять :)
Ответить