2016-07-11 7 views
0

2フィールドからフォームを検索しようとしました。しかし、私はできません。サイト/インデックスからsiteControllerから image from siteController and site/index2フィールドからのYii2検索フォームが機能していません

コードを、私を助けてくださいが

 public function actionDriver(){ 

     $driver = new Driver(); 

     $journey1 = Driver::findOne(['from' => $this -> from]); 
     $journey2 = Driver::findOne(['to' => $this -> to]); 

     if($journey1 -> id == $journey2 -> id){ 

      $driver = $journey1; 
      return $this->render('site/index',['driver'=>$driver, 
      ]); 
     } 
    } 

コード

<?php 
    use yii\widgets\ActiveForm; 
    use yii\helpers\Html; 
    ?> 
    <?php $form = ActiveForm::begin([ 
       'action' => ['index'], 
       'method' => 'get', 
      ]); ?> 

      <?= $form->field($driver, 'from') ?> 

      <?= $form->field($driver, 'to') ?> 

      <div class="form-group"> 
       <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?> 
      </div> 

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

は私が右理解していれば..あなたは二つのフィールド(とまでから)を求めるとし、2つのフィールドが同じを持っている場合 – scaisEdge

+0

.. .. ..あなたが必要とするより良い説明し、コードのない画像を投稿しますあなたがサイトで表示したいid/index最初のモデル(driver1)の権利? – scaisEdge

+0

ええ、私はIDのようなフィールドを持つテーブルを持っています..、から、...そして私はちょうど1つの行の2つのフィールドからフォームを検索して整理したいです –

答えて

0

findOne PKで使用するためにあなたが見つける使用する必要がある場合 - >あなたが何かをロードするかどうかhings

public function actionDriver(){ 

    $driver = new Driver(); 

    if ($driver->load(Yii::$app->request->post())) { 

     $journey1 = Driver::find()->where(['from' => $driver->from])->one(); 
     $journey2 = Driver::find()->where(['to' => $driver-> to])->one(); 

     if($journey1 -> id == $journey2 -> id){ 

      $driver = $journey1; 
     } 
    } 
    return $this->render('site/index',['driver'=>$driver,]); 
    } 
+0

ありがとう別の間違いがある不明なプロパティを取得する:app \ controllers \ SiteController :: –

+0

からvarの$ thisはコントローラで参照され、post値ではありません..あなたが使うことができるポスト値を取得するYii :: $ app-> request-> post(); ..私は答えを更新しました.. – scaisEdge

+0

非オブジェクトのプロパティを取得しようとすると$ journey1 = Driver :: find() - > where(['from' => $ post-> from]) - > one (); –

関連する問題