久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

詳解Yii2.0使用AR聯表查詢實例

這篇文章主要介紹了詳解Yii2.0使用AR聯表查詢實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Yii2.0中使用聯表查詢有兩種辦法,第一種是查詢構建器(Query Builder),第二種使用活動記錄(Active Record),中文網對查詢構建器講的很詳細,AR則說的很坑爹,下面貼出自己實踐的方法,以供參考。

兩個表

{{%article}} 和 {{%article_class}}

{{%article}} .article_class關聯{{%article_class}}.id

1、要使用AR做關聯查詢,首先在models {Article} 中創建關聯:

class Article extends \yii\db\ActiveRecord 
{ 
  //這里聲明被關聯字段 
  public $class_name; 
   
  /** 
   * @inheritdoc 
   */ 
  public static function tableName() 
  { 
    return '{{%article}}'; 
  } 
  ... 
 //關聯 mysite_article_class 表 
  public function getArticleClass(){ 
    /** 
    * 第一個參數為要關聯的子表模型類名稱, 
    * 第二個參數指定通過子表的 id 去關聯主表的 article_class 字段 
    */ 
    return $this->hasMany(ArticleClass::className(), ['id' => 'article_class']); 
  }  
   
} 

2、在controllers {ArticleController}中使用,

public function actionIndex() 
  {   
    $article = new Article(); 
    if(Yii::$app->request->get('class')){ 
      $query = Article::find() 
          ->joinWith('articleClass') 
          ->select(['{{%article}}.*,{{%article_class}}.class_name']) 
          ->where(['article_class' => Yii::$app->request->get('class')]); 
      $dataProvider = new ActiveDataProvider([ 
        'query' => $query, 
      ]); 
       
    }else{ 
      $query = Article::find() 
          ->joinWith('articleClass') 
          ->select(['{{%article}}.*,{{%article_class}}.class_name']); 
      $dataProvider = new ActiveDataProvider([ 
        'query' => $query, 
      ]); 
       
    } 
    return $this->render('index', [ 
      'dataProvider' => $dataProvider, 
      'model' => $article, 
    ]); 
  } 

3、在view {GridView}中使用

<?= GridView::widget([ 
  'dataProvider' => $dataProvider, 
  'columns' => [ 
    ['class' => 'yii\grid\SerialColumn'], 
    'id', 
    //'article_content:ntext', 
    [ 
      'value'=>'class_name', 
      'label'=>'文章分類', 
    ], 
    'article_title', 
    'article_addtime:datetime', 
    // 'article_updatetime:datetime', 
    // 'article_author', 
    ['class' => 'yii\grid\ActionColumn'], 
  ], 
]); ?> 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

下面小編就為大家分享一篇laravel ORM 只開啟created_at的幾種方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了如何通過源碼解析Laravel的依賴注入的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于Laravel中unique和exists驗證規則的優化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面
下面小編就為大家分享一篇php利用ob_start()清除輸出和選擇性輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
最近在使用laravel5.5,利用其實現了一個功能,下面分享給大家,這篇文章主要給大家介紹了關于Laravel 5.5基于內置的Auth模塊如何實現前后臺登陸的相關資料,文中通過示例代碼介紹的非
laravel 的隊列服務對各種不同的后臺隊列服務提供了統一的 API,下面這篇文章通過源碼分析給大家介紹了關于 Laravel 重復執行同一個隊列任務的原因,文中通過示例代碼介紹的非常詳細
主站蜘蛛池模板: 国产不卡视频 | 一区二区三区在线免费 | 欧美天堂在线 | 99re视频| 日韩欧美在线视频观看 | 午夜两性 | 久久er99热精品一区二区 | 国产成人精品一区二区三区视频 | 91婷婷 | 欧美日韩a | 成人av一区二区三区在线观看 | 免费a在线| 久久av在线 | 成人午夜av | 欧美色噜噜 | 欧美中文字幕 | 欧美日韩国产成人 | a在线免费观看 | 久久精品中文字幕 | 一级黄色免费视频 | 欧美亚洲国产日韩 | 日韩国产一区二区 | 国内精品一区二区三区 | 久久久久人 | 午夜免费福利视频 | 日本中文字幕在线观看 | 欧美日韩综合网 | 日本www视频 | 天天噜| 欧美视频在线一区 | 欧美91| 婷婷五月在线视频 | 午夜激情网站 | 青青青草视频在线观看 | 91午夜精品亚洲一区二区三区 | 欧美黄视频 | 亚洲精品乱码久久久久久蜜桃91 | 精品无人国产偷自产在线 | 亚洲久久久 | 成年网站在线观看 | av黄色在线 |