2016-10-19 67 views
0

我有兩張彼此相互關聯的表格,即丈夫和妻子。我已經創建了我的價值下拉列表並從表格丈夫處獲取數據。我希望在選擇其值時不會出現在他的下拉列表中。也許還有其他參考資料或可以提供幫助。代碼可以在下面的圖片中看到。當選擇下拉列表中的值時不會顯示

<?php 

use yii\helpers\Html; 
use yii\widgets\ActiveForm; 
use yii\helpers\ArrayHelper; 
use app\models\Husband; 

/* @var $this yii\web\View */ 
/* @var $model app\models\Wife */ 
/* @var $form yii\widgets\ActiveForm */ 
?> 

<div class="wife-form"> 

    <?php $form = ActiveForm::begin(); ?> 

    <?= $form->field($model, 'id_husband')->dropDownList(
     ArrayHelper::map(Husband::find()->where('status' => 0)->all(), 'id_husband', 'name'), 
     ['prompt' => 'Pilih']  
    ) ?> 

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

    <?= $form->field($model, 'status')->dropDownList(['0' => 'Tidak Aktif', '1' => 'Aktif'], 
    ['prompt'=>'--Pilih--', 'style' => 'width:380px']) ?> 

    <div class="form-group"> 
     <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 
    </div> 

    <?php ActiveForm::end(); ?> 

</div> 

回答

0

mungkin蛟harus memakai的javascript INI阿達拉赫contoh視圖薩亞擔控制器

視圖

<?php 
 

 
use yii\helpers\Html; 
 
use yii\widgets\ActiveForm; 
 
use yii\helpers\ArrayHelper; 
 
use backend\models\TahunAjaran; 
 
use backend\models\Mahasiswa; 
 
use backend\models\Matakuliah; 
 
/* @var $this yii\web\View */ 
 
/* @var $model backend\models\Dhs */ 
 
/* @var $form yii\widgets\ActiveForm 
 
*/ 
 

 
?> 
 

 
<div class="dhs-form"> 
 

 
    <?php $form = ActiveForm::begin(); ?> 
 

 
    <?= $form->field($model, 'id_tahun_ajaran')->dropDownList(ArrayHelper::map(TahunAjaran::find()->all(),'id','tahun_ajaran')) ?> 
 

 
    <?= $form->field($model, 'npm_mahasiswa')->dropDownList(ArrayHelper::map(Mahasiswa::find()->all(),'id','nama'), 
 
    ['prompt'=>'Pilih Mahasiswa', 
 
    'onchange'=>' 
 
       $.post("index.php?r=mahasiswa/lists&id='.'"+$(this).val(),function(data) 
 
       { $("select#dhs-user_id").html(data), $("select#nilai-1-nilai").html(data); 
 
      });' ] 
 
); ?> 
 

 

 
    <?= $form->field($model, 'user_id')->dropDownList(ArrayHelper::map(Mahasiswa::find()->all(),'id','user_id'), 
 
    ['prompt'=>'Pilih User Id', 
 
    ] 
 
); ?> 
 

 
<?= $form->field ($model,'semester')->dropDownList(ArrayHelper::map(Matakuliah::find()->all(),'id','semester'), 
 
['prompt'=>'Pilih Semester', 
 
'onchange'=>' 
 
$.post("index.php?r=matakuliah/lists&id='.'"+$(this).val(),function(data) 
 
{ 
 
$("select#dhs-id_matakuliah").html(data); 
 
});' ] 
 
); ?> 
 
    <?= $form->field($model, 'id_matakuliah')->dropDownList(ArrayHelper::map(Matakuliah::find()->all(),'id','id')) ?> 
 

 
    <?= $form->field($model, 'nilai')->dropDownList(['A' => 'A','B'=>'B','C' => 'C','D'=>'D','E' => 'E',]) ?> 
 

 
    <div class="form-group"> 
 
     <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 
 
    </div> 
 

 
    <?php ActiveForm::end(); ?> 
 

 
</div>

controlller

\t public function actionLists($id){ 
 
     $countBranches = Mahasiswa::find() 
 
      ->where(['id'=>$id]) 
 
      ->count(); 
 
     $branches = Mahasiswa::find() 
 
      ->where(['id'=>$id]) 
 
      ->all(); 
 
     if($countBranches > 0) 
 
     { 
 
      foreach ($branches as $branch) { 
 
       echo "<option value'" .$branch->id. "'>".$branch->user_id."</option>"; 
 
      } 
 
     } 
 
     else 
 
     { 
 
      echo "<option>-</option>"; 
 
     } 
 
    } 
 
}

0

你忘了說,在WHERE條件數組。

使用->where(['status' => 0])" instead of "->where('status' => 0)

因此,它是:

<?= $form->field($model, 'id_husband')->dropDownList(
     ArrayHelper::map(Husband::find()->where(['status' => 0])->all(), 'id_husband', 'name'), 
     ['prompt' => 'Pilih']  
    ) ?> 
+0

結果是錯誤。未找到列:1054'where子句'中的未知列'status' 正在執行的SQL是:SELECT * FROM'husband' WHERE'status' = 0。對於列表「身份」任何表中的妻子,而不是丈夫。 – CrashBurn

+0

你在丈夫表中有狀態欄嗎? – Satya

+0

我可以知道丈夫表和妻子的列嗎? – Satya

相關問題