


Yii2 implementiert Methoden, um verwandten Feldern die Unterstützung von Suchfunktionen zu ermöglichen
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([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], //添加的代码开始 [ 'label'=>'公司名', 'attribute'=>'companies_company_id', 'value'=>'companiesCompany.company_name' ], //添加的代码结束 'companiesCompany.company_name', // 'branch_id', // 'companies_company_id', 'branch_name', 'branch_address', 'branch_created_date', // 'branch_status', ['class' => 'yii\grid\ActionColumn'], ], ]); ?>
Dann ändern Sie SearchBranches.php
Regeln ändern. Die Methode ist:
public function rules() { return [ [['branch_id'], 'integer'], [['branch_name', 'branch_address', 'branch_created_date', 'branch_status','companies_company_id'], 'safe'], ]; }
Suchmethode ändern:
public function search($params) { $query = Branches::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } // 添加下面这行代码 $query->joinWith('companiesCompany'); $query->andFilterWhere([ 'branch_id' => $this->branch_id, // 'companies_company_id' => $this->companies_company_id, 'branch_created_date' => $this->branch_created_date, ]); $query->andFilterWhere(['like', 'branch_name', $this->branch_name]) ->andFilterWhere(['like', 'branch_address', $this->branch_address]) ->andFilterWhere(['like', 'branch_status', $this->branch_status]) // 添加下面这行代码 ->andFilterWhere(['like', 'companies.company_name', $this->companies_company_id]); return $dataProvider;
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.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

