最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Yii2實現(xiàn)讓關(guān)聯(lián)字段支持搜索功能的方法

 更新時間:2016年08月10日 15:10:51   作者:wjtlht928  
這篇文章主要介紹了Yii2實現(xiàn)讓關(guān)聯(lián)字段支持搜索功能的方法,結(jié)合實例形式分析了Yii2關(guān)聯(lián)字段搜索功能的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了Yii2實現(xiàn)讓關(guān)聯(lián)字段支持搜索功能的方法。分享給大家供大家參考,具體如下:

這里有兩張表,表結(jié)構(gòu)如下,companies_compay_id 為外鍵

yii2advanced.branches表:

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

yii2advanced.companies表:

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')

在上面表中,可以用companiesCompany.company_name來獲取公司名,不過這樣是不支持搜索的。

想要支持搜索功能,需要在branches的index視圖添加以下代碼:

<?= GridView::widget([
  'dataProvider' => $dataProvider,
  'filterModel' => $searchModel,
  'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    //添加的代碼開始
    [
      'label'=>'公司名',
      'attribute'=>'companies_company_id',
      'value'=>'companiesCompany.company_name'
    ],
     //添加的代碼結(jié)束
    'companiesCompany.company_name',
    // 'branch_id',
    // 'companies_company_id',
    'branch_name',
    'branch_address',
    'branch_created_date',
    // 'branch_status',
    ['class' => 'yii\grid\ActionColumn'],
  ],
]); ?>

然后修改SearchBranches.php

修改rules方法為:

public function rules()
{
  return [
    [['branch_id'], 'integer'],
    [['branch_name', 'branch_address', 'branch_created_date', 'branch_status','companies_company_id'], 'safe'],
  ];
}

修改search方法:

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;

刷新頁面即可看到

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。

相關(guān)文章

  • openai createChatCompletion函數(shù)使用實例

    openai createChatCompletion函數(shù)使用實例

    這篇文章主要為大家介紹了openai createChatCompletion函數(shù)使用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • php開發(fā)留言板的CRUD(增,刪,改,查)操作

    php開發(fā)留言板的CRUD(增,刪,改,查)操作

    php學(xué)習(xí)中,以開放一個留言本作為php的入門資料還是不錯的。
    2012-04-04
  • PHP反射機(jī)制案例講解

    PHP反射機(jī)制案例講解

    這篇文章主要介紹了PHP反射機(jī)制案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • php程序總是提示驗證碼輸入有誤解決方案

    php程序總是提示驗證碼輸入有誤解決方案

    這篇文章主要介紹了php程序總是提示驗證碼輸入有誤解決方案,需要的朋友可以參考下
    2015-01-01
  • PHP實現(xiàn)數(shù)組向任意位置插入,刪除,替換數(shù)據(jù)操作示例

    PHP實現(xiàn)數(shù)組向任意位置插入,刪除,替換數(shù)據(jù)操作示例

    這篇文章主要介紹了PHP實現(xiàn)數(shù)組向任意位置插入,刪除,替換數(shù)據(jù)操作,結(jié)合實例形式分析了php中array_splice函數(shù)具體功能、參數(shù)及數(shù)組的插入、刪除、數(shù)值替換等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • PHP命令空間namespace及use的用法小結(jié)

    PHP命令空間namespace及use的用法小結(jié)

    命名空間一個最明確的目的就是解決重名問題,PHP中不允許兩個函數(shù)或者類出現(xiàn)相同的名字,否則會產(chǎn)生一個致命的錯誤。這篇文章主要介紹了PHP命令空間namespace及use的用法實踐總結(jié),需要的朋友可以參考下
    2017-11-11
  • Laravel使用RabbitMQ的方法示例

    Laravel使用RabbitMQ的方法示例

    這篇文章主要介紹了Laravel使用RabbitMQ的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • smarty簡單入門實例

    smarty簡單入門實例

    這篇文章主要介紹了smarty簡單入門實例,包括了配置文件的用法與模板文件的使用,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • php讀取3389的腳本

    php讀取3389的腳本

    通過php獲取系統(tǒng)3389端口信息的腳本,這里只分享實現(xiàn)方法,不建議非法用途
    2014-05-05
  • 基于thinkphp5框架實現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作

    基于thinkphp5框架實現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作

    這篇文章主要介紹了基于thinkphp5框架實現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論

卢龙县| 鄂尔多斯市| 晋江市| 新和县| 伊宁县| 布拖县| 汝阳县| 乐平市| 特克斯县| 神池县| 祥云县| 西和县| 鲁甸县| 沾益县| 灵武市| 哈巴河县| 武城县| 扎兰屯市| 白朗县| 开封市| 华宁县| 凤山县| 竹溪县| 禄丰县| 正宁县| 海宁市| 馆陶县| 清丰县| 腾冲县| 内丘县| 闻喜县| 金寨县| 海伦市| 天祝| 玉屏| 宁武县| 斗六市| 泰顺县| 浏阳市| 连江县| 普安县|