AR вопрос

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

AR вопрос

Сообщение sapgv » 2013.07.17, 22:17

Всем привет
есть контроллер 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 » 2013.07.17, 22:19

отключить запоминание пароля в браузере :-D

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

Re: AR вопрос

Сообщение sapgv » 2013.07.17, 22:22

а почему тогда во вьюхе регистрации пользователя поля пустые ?

lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: AR вопрос

Сообщение lancedevnull » 2013.07.17, 22:25

почем? у меня заполненные

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

Re: AR вопрос

Сообщение sapgv » 2013.07.17, 22:31

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

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

$model_account = new AccountForm;
 
то данные будут пустые

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

Re: AR вопрос

Сообщение sapgv » 2013.07.17, 22:36

и не в сохраненных паролях дело
удалил пароли сохраненные - не помогло !

Аватара пользователя
S c
Сообщения: 875
Зарегистрирован: 2012.04.11, 14:46

Re: AR вопрос

Сообщение S c » 2013.07.17, 23:32

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

$model_account = new AccountForm;

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

Re: AR вопрос

Сообщение Neuromance » 2013.07.18, 06:16

ТС, вы поля выводите из модели. Сначала по праймари кею получаете модель со всеми полями, а потом её выводите. Естественно, что поля у вас заполненные..

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

Re: AR вопрос

Сообщение SiZE » 2013.07.18, 07:32

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

Аватара пользователя
sluchainiyznak
Сообщения: 617
Зарегистрирован: 2013.05.19, 17:51
Откуда: ХМАО-Югра, г. Сургут
Контактная информация:

Re: AR вопрос

Сообщение sluchainiyznak » 2013.07.18, 07:49

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

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

Re: AR вопрос

Сообщение sapgv » 2013.07.18, 09:02

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

Ответить