Heim php教程 PHP开发 Yii2 implementiert Methoden, um verwandten Feldern die Unterstützung von Suchfunktionen zu ermöglichen

Yii2 implementiert Methoden, um verwandten Feldern die Unterstützung von Suchfunktionen zu ermöglichen

Dec 23, 2016 pm 04:42 PM

Das Beispiel in diesem Artikel beschreibt, wie Yii2 die Suchfunktion für verwandte Felder implementiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Hier gibt es zwei Tabellen, die Tabellenstruktur ist wie folgt, Companies_compay_id ist der Fremdschlüssel

yii2advanced.branches-Tabelle:

branch_id: int (11)
companies_company_id:int(11)
branch_name:varchar(100)
branch_address:varchar(255)
branch_created_date:datetime
branch_status:enum ('aktiv', 'inaktiv')

yii2advanced.companies Tabelle:

company_id:int(11)
company_name:varchar(100)
company_email:varchar(100)
company_address:varchar(255 )
logo:varchar(200)
company_start_date:datetime
company_create_date:datetime
company_status:enum('active','inactive')

In der obigen Tabelle können Sie CompaniesCompany.company_name verwenden, um den Firmennamen abzurufen, die Suche wird jedoch nicht unterstützt.

Um die Suchfunktion zu unterstützen, müssen Sie den folgenden Code zur Indexansicht von Zweigen hinzufügen:

<?= GridView::widget([
  &#39;dataProvider&#39; => $dataProvider,
  &#39;filterModel&#39; => $searchModel,
  &#39;columns&#39; => [
    [&#39;class&#39; => &#39;yii\grid\SerialColumn&#39;],
    //添加的代码开始
    [
      &#39;label&#39;=>&#39;公司名&#39;,
      &#39;attribute&#39;=>&#39;companies_company_id&#39;,
      &#39;value&#39;=>&#39;companiesCompany.company_name&#39;
    ],
     //添加的代码结束
    &#39;companiesCompany.company_name&#39;,
    // &#39;branch_id&#39;,
    // &#39;companies_company_id&#39;,
    &#39;branch_name&#39;,
    &#39;branch_address&#39;,
    &#39;branch_created_date&#39;,
    // &#39;branch_status&#39;,
    [&#39;class&#39; => &#39;yii\grid\ActionColumn&#39;],
  ],
]); ?>
Nach dem Login kopieren

Dann ändern Sie SearchBranches.php

Regeln ändern. Die Methode ist:

public function rules()
{
  return [
    [[&#39;branch_id&#39;], &#39;integer&#39;],
    [[&#39;branch_name&#39;, &#39;branch_address&#39;, &#39;branch_created_date&#39;, &#39;branch_status&#39;,&#39;companies_company_id&#39;], &#39;safe&#39;],
  ];
}
Nach dem Login kopieren

Suchmethode ändern:

public function search($params)
{
  $query = Branches::find();
  $dataProvider = new ActiveDataProvider([
    &#39;query&#39; => $query,
  ]);
  $this->load($params);
  if (!$this->validate()) {
    // uncomment the following line if you do not want to any records when validation fails
    // $query->where(&#39;0=1&#39;);
    return $dataProvider;
  }
  // 添加下面这行代码
  $query->joinWith(&#39;companiesCompany&#39;);
  $query->andFilterWhere([
    &#39;branch_id&#39; => $this->branch_id,
  //  &#39;companies_company_id&#39; => $this->companies_company_id,
    &#39;branch_created_date&#39; => $this->branch_created_date,
  ]);
  $query->andFilterWhere([&#39;like&#39;, &#39;branch_name&#39;, $this->branch_name])
    ->andFilterWhere([&#39;like&#39;, &#39;branch_address&#39;, $this->branch_address])
    ->andFilterWhere([&#39;like&#39;, &#39;branch_status&#39;, $this->branch_status])
     // 添加下面这行代码
    ->andFilterWhere([&#39;like&#39;, &#39;companies.company_name&#39;, $this->companies_company_id]);
  return $dataProvider;
Nach dem Login kopieren

Aktualisieren Weitere Yii2-Methoden zum Implementieren verwandter Felder zur Unterstützung von Suchfunktionen finden Sie unter

. Weitere Artikel finden Sie auf der chinesischen PHP-Website.

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)