В 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
Что вам нужно, либо одно из следующего:
$maxFormId= Yii::app()->db->createCommand() ->select('max(id) as max') ->from('tbl_yourtable') ->queryScalar(); $yourFormId = "Form:".($maxFormId+ 1);
или, альтернативно, запустите после вставки и покажите только идентификатор формы:
$yourFormId = "Form:".Yii::app()->db->getLastInsertId();
ОБНОВИТЬ:
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;