2016-03-18 4 views
0

Wie kann ich ein neues TextInput- erstellen und ein filterSelector in Yü Rahmen machen Ich hatte dies im Modell gemacht:Texteingabe und Filter in Yü FrameWork

<input name='searchfield' id='searchModel'> 

'filterSelector' => '#searchModel', 

und für die searchModel:

if ($this->company_name) { 
     $query->andFilterWhere(['like', 'company_name', $this->company_name]);; 
} 

aber das Problem ist, dass der gridview, ohne welche die Ergebnisse erfrischend

+0

verwenden Sie CActiveDataProvider oder CArrrayDataProvider? Liefern Sie Filter im Controller? [Hier] (http://www.yiiframework.com/wiki/232/using-filters-with-cgridview-and-carraydataprovider/) ist ein nützlicher Link. – peaceman

+0

Hallo Peaceman Vielen Dank für Ihre Antwort, aber leider ist das nicht, was ich suche, lassen Sie mich es Ihnen erklären, ich teste die Advanced-Anwendung (auf der Yiiframework-Website vorgestellt) und ich habe den ganzen Code bereits generiert aber das Problem ist, wenn ich einen neuen TextInput hinzufügen und versuchen musste, mit einem ActiveDataProvider –

Antwort

1

du als Yü markiert, aber von der Syntax ist es wahrscheinlich Yii2. Ich werde dir etwas geben, an denen ich gearbeitet:

Dies wäre der Controller:

public function actionSomething() 
{ 
    $criteria = new CDbCriteria(); 

    if(isset($_GET['query'])) 
    { 
     $query = $_GET['query']; 
     $criteria->compare('attribute_of_model', $query, true, 'OR'); 
     // you can add more attributes with which you want to compare query, that is why I added 'OR' if you remove 'OR' it defaults to 'AND' 
    } 
    $dataProvider=new CActiveDataProvider("YourModel", array('criteria'=>$criteria)); 

     $this->render('index',array(
      'dataProvider'=>$dataProvider, 
     )); 
} 

Und das wäre Ihre Ansicht:

<form method="get"> 
    <input type="search" placeholder="filter" name="query" value="<?=isset($_GET['query']) ? CHtml::encode($_GET['query']) : '' ; ?>" /> 
    <input type="submit" value="search" /> 
</form> 

Diese funktionieren soll. Wenn Sie Yii2 entwickeln, müssen Sie es leicht ändern.

+0

zu suchen und zu filtern. Großartig, jetzt funktioniert es, danke –