zoukankan      html  css  js  c++  java
  • TP5一对一、一对多关联模型的使用

    控制器:

    namespace appadmincontroller;
    use appadminmodelArticle ;
    use thinkController;
    use thinkDb;
    
    /**
     * 关于TP5一对一/一对多关联的关联查询
     * Class Member
     * @package appadmincontroller
     */
    class Guser extends Controller
    {
        public function index()
        {
            //查询所有每篇文章下的评论内容且分页
            $article_list = Article::with('comment')->order('add_time asc')->field('id,title,add_time,introduction,clicknum')->paginate(20)->toArray();
            dump($article_list);exit;
        }
    }

    模型Article.php

    /**
     * 主表(tp_article)的模型
     * Class Article
     * @package appadminmodel
     */
    class Article extends Model
    {
        /**
         * 一对多
         * 建立和tp_comment表的关联
         * hasMany方法的参数包括:hasMany('关联模型名','外键名','主键名',['模型别名定义']);
         * gg_id 是关联表的关联键名
         * clicknum 是主表的被关联的键名
         */
        public function comment()
        {
            return $this->hasMany('comment','gg_id','clicknum');
        }
    
        /**
         * 一对一
         * 建立和tp_comment表的关联
         * hasMany方法的参数包括:hasMany('关联模型名','外键名','主键名',['模型别名定义']);
         * gg_id 是关联表的关联键名
         * clicknum 是主表的被关联的键名
         */
        public function comment()
        {
            return $this->hasOne('comment','gg_id','clicknum');
        }
    }

    模型Comment.php

    /**
     * tp_comment 表模型
     * @package appadminmodel
     */
    class Comment extends Model
    {
        /**
         * 建立和tp_article表(主表)的关联
         * belongsTo的参数包括::belongsTo('关联模型名','外键名','关联表主键名',['模型别名定义'],'join类型');
         */
        public function article()
        {
            return $this->belongsTo('article');
        }
    }
  • 相关阅读:
    GDI+中发生一般性错误
    反复
    一些网址
    控制listview大图标之间的间距
    android 系统移植
    android 启动报错
    android init.rc 语法分析
    Linux下的管道编程技术dup函数和dup2函数
    为了防止打开的设备 被占用
    android 多媒体框架
  • 原文地址:https://www.cnblogs.com/Essaycode/p/10161988.html
Copyright © 2011-2022 走看看