Bitte kann jemand erklären, wie die search
Methode in einem Yii2 SearchModel
funktioniert? Ich habe es mit Gii erstellt. Hier ist sie:Yii2 Wie funktioniert search() in SearchModel?
public function search($params){
$query = MyModel::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!($this->load($params) && $this->validate())) {
return $dataProvider;
}
$this->addCondition($query, 'att1');
$this->addCondition($query, 'att1', true);
$this->addCondition($query, 'att2');
$this->addCondition($query, 'att2', true);
return $dataProvider;
}
Dies ist, wie ich es nennen:
$search = new MyModelSearch();
$myModels = $search->search(['att3' => '3']);
Unabhängig davon, welche Attribute ich in Aufruf search
verwenden, habe ich immer das gleiche Ergebnis zurück - dh alle Einträge in der Tabelle . Mir fehlt hier etwas, was ich einfach nicht verstehe.
Jede Hilfe würde wirklich geschätzt werden. Vielen Dank.
Manchmal funktionieren einfache Lösungen; Das ist einer von ihnen! :) Funktioniert perfekt. –
Ich frage mich, was ist der Unterschied zwischen Ihrem Code und mir: '$ search = new ModelSearch(); $ search-> att3 = 3; $ myDataProvider = $ search-> search (''); 'Ich bekomme auch das erwartete Ergebnis. –