【问题标题】:how to show database column value during dropdown selecetion on yii2如何在yii2中的下拉选择期间显示数据库列值
【发布时间】:2020-10-11 23:24:46
【问题描述】:

我正在使用Yii2,我有两个表和两个模型: table 1: tenderprice:(id, itemname, quanity)(id is primary key) 型号名称=Tenderprice,表 2:tenderpricelist:id pk,singleprice, totalprice,tenderpriceid: (tenderpriceid is foreign key refers to Tenderprice) 型号名称:Tenderpricelist 现在我想要选择 itemname 时的数量:

<?
    $itemtenders=Tenderprice::find()->all();
     $itemlist=ArrayHelper::map($itemtenders,'id','itemname');
     echo $form->field($model, 'tenderpriceid')->dropDownList($itemlist,['prompt'=>'Select tender'])->hint('Please choose item one by one')->label('Add Items');
     ?>
     // inserting data into tenderpricelist based on the selection of table tenderprice
      <?= $form->field($model, 'singleprice')->textInput(['maxlength' => true])->hint('Please enter your price') ?>

    <?= $form->field($model, 'totalprice')->textInput(['maxlength' => true]) 
?>

现在我想基于从DropdownList中选择的项目名称将数据插入员工名称。DropdownList正确填写,但在选择itemName时,我无法访问“数量”列的值。 我只想当我从下拉列表中选择项目名称时,其相应的数量将显示在文本框或标签上,并且我的表招标价格列表中的总价格列将是:总价格

totalprice=quantity *singleprice

注意:singleprice在表tenderpricelist中,而数量在父表tenderprice中。

【问题讨论】:

标签: yii yii2 yii2-advanced-app yii-extensions yii2-model


【解决方案1】:

最好的选择是在从 $form 获取信息后在控制器(如果您的验证需要具有数量值)或模型(如果不需要验证)中处理它。在那里,在验证之前和保存之前,您可以使用以下给出的值进行操作:

  • $_GET ($tenderId = Yii::$app-&gt;response-&gt;get('FormName['tenderpriceid']))
  • $_POST ($tenderId = Yii::$app-&gt;response-&gt;post('FormName['tenderpriceid']))

您必须通过查看调试来查看“FormName”。获得$tenderId 后,您可以进行数据库查询并找到数量:

$quantity = Tenderprice::find()-&gt;one()-&gt;where(['id' =&gt; $tenderId]);

然后您可以将该值传递给保存或更新选项。让我知道这是否有效,或者请发布模型和控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 2014-02-26
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    相关资源
    最近更新 更多