Heim  >  Artikel  >  Backend-Entwicklung  >  Yii2 realisiert die Methode zum gleichzeitigen Durchsuchen mehrerer Felder._php-Beispiel

Yii2 realisiert die Methode zum gleichzeitigen Durchsuchen mehrerer Felder._php-Beispiel

WBOY
WBOYOriginal
2016-08-17 13:02:311202Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie Yii2 die gleichzeitige Suche in mehreren Feldern implementiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Das Suchfeld in Yii2 verwendet die Methode andFilterWhere, mit der nach einem Absatz gesucht werden kann.

Wenn Sie beispielsweise in mehreren Feldern suchen, ob der Artikeltitel und der Artikelinhalt die Schlüsselwörter enthalten, nach denen Sie suchen müssen, da die Beziehung zwischen ihnen „oder“ ist, müssen Sie orFilterWhere Methode

Das Folgende ist der gesamte Code

public function actionIndex()
{
  $key =Yii::$app->request->post("key");
  $query = Post::find()->joinWith('cate');
  $post = $query->orderBy(['post.id' => SORT_DESC])->asArray()->where(['post.status' => 1]);
  if($key){
    $post->andFilterWhere(['like', 'post.title', $key])
      ->orFilterWhere(['like', 'post.content', $key]);
  }
  $pages = new Pagination([
    'totalCount' => $post->count(),
    'defaultPageSize' => 10
  ]);
  $model = $post->offset($pages->offset)->limit($pages->limit)->all();
  return $this->render('index', [
    'model' => $model,
    'pages' => $pages,
  ]);
}

Sie können die SQL-Anweisung wie folgt sehen:


Code kopieren Der Code lautet wie folgt:
select count(*) from `post` left join `category` on `post`.`cate_id `=` Kategorie`.`id` wobei ((`post`.`status`=1) und (`post`.`title` wie '%key%')) oder (`post`.`content` wie ' %key% ') order by `post`.`id` desc
Wählen Sie „Beitrag“.* aus „Beitrag“. Verknüpfen Sie „Kategorie“ mit „Beitrag“. `title` like '%key%')) oder (`post`.`content` like '%key%') order by `post`.`id` desc limit 10
Leser, die an mehr Yii-bezogenen Inhalten interessiert sind, können sich die speziellen Themen dieser Website ansehen: „Einführung in das Yii-Framework und Zusammenfassung gängiger Techniken“, „Zusammenfassung des ausgezeichneten PHP-Entwicklungsframeworks“, „Grundlegendes Tutorial für den Einstieg“. mit Smarty-Vorlagen“, „Einführungs-Tutorial zum objektorientierten PHP-Programmierung-Design“, „Zusammenfassung der PHP-String-(String-)Verwendung“, „Einführungs-Tutorial zum PHP-MySQL-Datenbankbetrieb“ und „Zusammenfassung allgemeiner PHP-Datenbankbetriebsfähigkeiten“

Ich hoffe, dass dieser Artikel für jedermann beim PHP-Programmdesign basierend auf dem Yii-Framework hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn