我的表单中有一个带有自动填充值的文本字段textfield1
。我想在我的模型中创建一个函数来生成textfield2
作为ID的代码。为了生成该代码,在我的模型中,我需要使用以下查询从数据库中读取:
select * table_a where code=***value from textfield1***
此值位于view / _form中。如何将视图或_form中的值传递给模型?
我的观点/表格:
// this is the textfield that is filled automatically. I want to it to the model
<div class="row">
<?php echo $form->labelEx($model,'kode'); ?>
<?php echo $form->textField($model,'kode',array('size'=>40,'maxlength'=>255)); ?>
<?php echo $form->error($model,'kode'); ?>
</div>
// this is the text field where I want to fill by query in my model
<div class="">
<?php echo $form->labelEx($model,'kode_primary'); ?>
<?php echo $form->textField($model,'kode_primary',array('size'=>40,'maxlength'=>255,'value'=>(($model->isNewRecord)? $model->generateKode_P():$model->no),'readOnly'=>'true')); ?>
<?php echo $form->error($model,'kode_primary'); ?>
我的模特:
public function generateKode_P(){
$connection = yii::app()->db;
$command=$connection->createCommand("select * from arsip_perihal WHERE kode='I want to get value from another textfield where has generated value located in same view/_Form'");
}
答案 0 :(得分:0)
首先你必须提交表单,因为服务器不知道该值,然后在你的控制器中捕获该值,类似于你的控制器的默认actionCreate()
和actionUpdate()
函数
因为您使用了有效输入,例如,如果您的模型名称为User
,则该值可能位于$_POST['User']['kode_primary']
或$_GET['User']['kode_primary']
变量中,具体取决于您的表单发送方式是
最好通过yii
的默认功能获取该变量:
$user_attr = Yii::app()->request->getParam('User');
// now you can access it like
$user_attr['kode_primary'];