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

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

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

本文實(shí)例講述了Yii2實(shí)現(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來(lái)獲取公司名,不過(guò)這樣是不支持搜索的。

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

<?= GridView::widget([
  'dataProvider' => $dataProvider,
  'filterModel' => $searchModel,
  'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    //添加的代碼開(kāi)始
    [
      '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;

刷新頁(yè)面即可看到

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

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

相關(guān)文章

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

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

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

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

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

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

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

    php程序總是提示驗(yàn)證碼輸入有誤解決方案

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

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

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

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

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

    Laravel使用RabbitMQ的方法示例

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

    smarty簡(jiǎn)單入門(mén)實(shí)例

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

    php讀取3389的腳本

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

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

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

最新評(píng)論

从江县| 阿瓦提县| 滨州市| 贵定县| 宁安市| 闽清县| 建始县| 宜昌市| 阜阳市| 洪泽县| 密云县| 图木舒克市| 成都市| 吐鲁番市| 丹棱县| 东莞市| 祥云县| 罗山县| 蒲城县| 南安市| 云南省| 新建县| 富源县| 翼城县| 淮阳县| 玉树县| 淮北市| 卫辉市| 错那县| 博客| 客服| 灌南县| 独山县| 司法| 偏关县| 吉安县| 平南县| 洛隆县| 镇坪县| 桃园县| 梁河县|