Номера по возрастанию формы в Yii - PullRequest
1 голос
/ 24 февраля 2012

В Yii я делаю форму, в которой форма имеет поля ввода для сведений о пользователе. Я сделал необходимые поля ввода для всех этих полей. Где пользователь может отправить все значения. Теперь у меня есть поле, где оно будет отображаться номер формы, который не будет введен пользователем. Он будет генерироваться случайным образом в порядке возрастания, например для 1-й формы это будет похоже на FORM:001, Для второй формы оно будет выглядеть так FORM:002 и будет продолжаться. Теперь я хочу, чтобы номер формы был похож на Form:001, так как это сделать? HAny помощь и предложения будут очень доступными.

[ОБНОВЛЕНО]

  <div class="row">
    <?php echo $form->labelEx($model,'id'); ?>
    <?php echo Yii::app()->db->getLastInsertId();?>
    <?php echo $form->error($model,'id'); ?>
  </div>

Это код для просмотра> _form.php файла. и результат ID 0

1 Ответ

0 голосов
/ 26 февраля 2012

Вам нужно одно из следующих:

$maxFormId= Yii::app()->db->createCommand()
->select('max(id) as max')
->from('tbl_yourtable')
->queryScalar();
$yourFormId = "Form:".($maxFormId+ 1);

или, в качестве альтернативы, выполните следующую команду после вставки и только затем отобразите идентификатор формы:

$yourFormId = "Form:".Yii::app()->db->getLastInsertId();

UPDATE:

public function actionCreate()
    {
        $model=new YourModel;

        if(isset($_POST['YourForm']))
        {
            $model->attributes=$_POST['YourForm'];
            if($model->save())
                $this->redirect(array('view','id'=>$model->id));
        }

        $this->render('create',array(
        'model'=>$model,
        ));
    }

На выше:

$this->redirect(array('view','id'=>$model->id));

автоматически дает вам последний вставленный идентификатор, поэтому вы можете просто указать следующее:

echo "Form:".$id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...