thinkphp6一对多

文章描述:

thinkphp6一对多查询

 

文章数据表

评论数据表

模型Article

<?php
namespace app\model;

use think\Model;

class Article extends Model
{
    // 定义一对多关联
    public function posts()
    {
        // hasMany('关联模型','外键','主键');
        //关联模型(必须):关联模型类名
        //外键:关联模型外键,默认的外键名规则是当前模型名+_id,如:Comments表的article_id
        //主键:当前模型主键,一般会自动获取也可以指定传入,如:Article 表的id
        return $this->hasMany('Comments', 'article_id');
    }
    public function postsx()
    {
        // hasMany('关联模型','外键','主键');
        //关联模型(必须):关联模型类名
        //外键:关联模型外键,默认的外键名规则是当前模型名+_id,如:Comments表的article_id
        //主键:当前模型主键,一般会自动获取也可以指定传入,如:Article 表的id
        return $this->hasMany('Collect', 'article_id');
    }
}

模型Comments

<?php
namespace app\model;

use think\Model;

class Comments extends Model
{
    // 在model中隐藏不想显示的字段
    protected $hidden = ['article_id'];
    // 定义多对一关联
    //  public function user()
    //  {
    //      return $this->belongsTo('Article');
    //  }
}

 

 

控制器

$Articles = Article::with('posts')->select()->toArray();
dd($Articles);

 

发布时间:2023/10/11

发表评论