AR вопрос

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
sapgv
Сообщения: 164
Зарегистрирован: 2013.05.27, 21:41

AR вопрос

Сообщение sapgv »

Всем привет
есть контроллер Settings

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

$pk = Yii::app()->user->id;
        $model_account = AccountForm::model()->findByPk($pk);
        //$model_account = new AccountForm;
        if(isset($_POST['AccountForm']))
        {
            // $model_account->attributes=$_POST['AccountForm'];
            if($model_account->save()){
            }
        }

$this->render('index',array('model_account'=>$model_account) );

 
и модель AccountForm

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

class AccountForm extends CActiveRecord
{
        
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    /**
     * @return string the associated database table name
     */
    public function tableName()
    {
        return 'tbl_user';
    }

...
 
и вьюха

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

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'account-form',
    
        
)); ?>    
    
    <?php 
    echo $form->errorSummary($model);
     ?>

    <div class="field">
        <?php echo $form->labelEx($model,'username'); ?>
        <?php echo $form->textField($model,'username',array('size'=>25, 'width'=>100,'maxlength'=>255,'placeholder'=> ' login')); ?>
        <?php echo $form->error($model,'username'); ?>
    </div>

    
    <div class="field">
        <?php echo $form->labelEx($model,'email'); ?>
        <?php echo $form->textField($model,'email',array('size'=>25, 'width'=>100,'maxlength'=>255,'placeholder'=> ' email')); ?>
        <?php echo $form->error($model,'email'); ?>
        
    </div>

     
    <div class="row buttons">
        <?php echo CHtml::submitButton('Сохранить');?>
    </div>

<?php $this->endWidget(); ?>


Проблем в том что в браузере страница отображается с уже заполненными полями
а должны быть пустые, как это сделать ?
Последний раз редактировалось sapgv 2013.07.17, 22:39, всего редактировалось 1 раз.
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: AR вопрос

Сообщение lancedevnull »

отключить запоминание пароля в браузере :-D
Аватара пользователя
sapgv
Сообщения: 164
Зарегистрирован: 2013.05.27, 21:41

Re: AR вопрос

Сообщение sapgv »

а почему тогда во вьюхе регистрации пользователя поля пустые ?
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: AR вопрос

Сообщение lancedevnull »

почем? у меня заполненные
Аватара пользователя
sapgv
Сообщения: 164
Зарегистрирован: 2013.05.27, 21:41

Re: AR вопрос

Сообщение sapgv »

ну если так сделать

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

$model_account = new AccountForm;
 
то данные будут пустые
Аватара пользователя
sapgv
Сообщения: 164
Зарегистрирован: 2013.05.27, 21:41

Re: AR вопрос

Сообщение sapgv »

и не в сохраненных паролях дело
удалил пароли сохраненные - не помогло !
Аватара пользователя
S c
Сообщения: 883
Зарегистрирован: 2012.04.11, 14:46

Re: AR вопрос

Сообщение S c »

судя по 1му примеру - у вас редактирование записи, оно и должно быть с заполненными полями. Если создание новой записи то как вы сам написали

$model_account = new AccountForm;
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: AR вопрос

Сообщение Neuromance »

ТС, вы поля выводите из модели. Сначала по праймари кею получаете модель со всеми полями, а потом её выводите. Естественно, что поля у вас заполненные..
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: AR вопрос

Сообщение SiZE »

sapgv писал(а):Всем привет. Проблем в том что в браузере страница отображается с уже заполненными полями
а должны быть пустые, как это сделать ?
Привет. У тега input есть такой атрибут, как autocomplete="off" - это если в пустую форму подстановка идет. А если надо отключить при редактировании, самое простое добавить в htmlOptions 'value' => '', но вообще наверное можно задать scope и указать какие поля вернуть, пароль вообще лучше из базы не дергать.
Аватара пользователя
sluchainiyznak
Сообщения: 617
Зарегистрирован: 2013.05.19, 17:51
Откуда: ХМАО-Югра, г. Сургут
Контактная информация:

Re: AR вопрос

Сообщение sluchainiyznak »

SiZE писал(а):
sapgv писал(а):Всем привет. Проблем в том что в браузере страница отображается с уже заполненными полями
а должны быть пустые, как это сделать ?
Привет. У тега input есть такой атрибут, как autocomplete="off" - это если в пустую форму подстановка идет. А если надо отключить при редактировании, самое простое добавить в htmlOptions 'value' => '', но вообще наверное можно задать scope и указать какие поля вернуть, пароль вообще лучше из базы не дергать.
Вы неправильно поняли вопрос человека, он вытаскивает запись из базы, отдает ее во вьюху и спрашивает - "почему это у меня поля заполнены, а не пустые...", Neuromance все правильно описал
Для вывода пустых полей ему, соответственно, нужно создать новый экземпляр класса и отправить его во вьюху, как порекомендовал S c
Аватара пользователя
sapgv
Сообщения: 164
Зарегистрирован: 2013.05.27, 21:41

Re: AR вопрос

Сообщение sapgv »

всем спасибо, вроде разобрался
Ответить