国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

詳解Yii2.0使用AR聯(lián)表查詢實例

2024-05-04 23:58:03
字體:
來源:轉載
供稿:網友

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

兩個表

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

{{%article}} .article_class關聯(lián){{%article_class}}.id

1、要使用AR做關聯(lián)查詢,首先在models {Article} 中創(chuàng)建關聯(lián):

class Article extends /yii/db/ActiveRecord {   //這里聲明被關聯(lián)字段   public $class_name;      /**    * @inheritdoc    */   public static function tableName()   {     return '{{%article}}';   }   ...  //關聯(lián) mysite_article_class 表   public function getArticleClass(){     /**     * 第一個參數為要關聯(lián)的子表模型類名稱,     * 第二個參數指定通過子表的 id 去關聯(lián)主表的 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'],   ], ]); ?> 

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


注:相關教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 太谷县| 北碚区| 博罗县| 凌云县| 库车县| 平凉市| 乌兰察布市| 宣汉县| 辽宁省| 喀喇沁旗| 招远市| 道孚县| 渭源县| 简阳市| 方城县| 恭城| 扎囊县| 金沙县| 金阳县| 阿拉善盟| 商南县| 梨树县| 城口县| 镶黄旗| 文昌市| 西贡区| 邹平县| 安顺市| 祁东县| 普格县| 延津县| 鹤壁市| 上饶市| 霍邱县| 侯马市| 罗甸县| 高阳县| 葫芦岛市| 广安市| 北票市| 汤阴县|