来团智慧商业小程序零代码开发平台,多行业适配。无需代码,拖拽式设计,轻松打造订货商城、会员制商城、分销商城及小程序官网。不仅能满足通用需求,还支持定制化,从页面布局到功能模块,随心定制,助您快速搭建专属商业小程序,抢占市场先机。
我会用大白话的方式,把belongsTo的用法拆解得明明白白,保证新手能彻底理解~
public function category()
{
return $this->belongsTo('Category','category_id');
}
一句话总结:给当前模型(比如文章模型)绑定「所属分类」的关联关系,让你能通过文章直接拿到它对应的分类信息,不用自己写复杂的 SQL 关联查询。
belongsTo('关联模型', '当前表外键', '关联表主键')
↓ ↓ ↓
第一个参数 第二个参数 第三个参数(可省略)
在讲代码前,先明确2个关键背景,不然看代码会懵:
Article 模型对应 article 表,Category 模型对应 category 表。belongsTo(属于)关系。假设这段代码写在 Article(文章)模型里,我们逐句解释:
// 定义一个叫 category 的方法
public function category()
{
// 返回关联关系:当前文章属于某个分类
return $this->belongsTo('Category','category_id');
}
public function category()public:表示这个方法是公开的,在其他地方能调用(比如控制器里)。function category():给这个关联方法起个名字叫 category,你也可以叫 cate/categoryInfo,但建议见名知意。$this->belongsTo(...)$this:代表「当前模型」(比如 Article 模型),简单理解就是「当前这篇文章」。
belongsTo:是 ThinkPHP 内置的关联方法,中文意思是「属于」,专门用来定义「多对一/一对一」的从属关系。
belongsTo;hasMany(新手先记 belongsTo 即可)。'Category'(第一个参数)category 表)。appmodel),需要写完整路径,比如 appdminmodelCategory。'category_id'(第二个参数)表示「当前模型表」(article 表)里的外键字段,这个字段是用来关联「目标模型表」(category 表)的。
举例:
category_id,存的是分类的 ID(比如 1、2、3);id(比如 1=科技、2=美食);article.category_id = category.id 把两张表关联起来。新手简化记:第二个参数 = 「当前表」里存「关联表 ID」的那个字段名。
光懂代码还不够,看实际怎么用,才知道这行代码的价值:
假设数据库:
// 1. 引入文章模型
use appmodelArticle;
// 2. 查询ID=1的文章
$article = Article::find(1);
// 3. 通过关联方法,直接拿分类信息(不用自己写 JOIN SQL!)
$categoryName = $article->category->name;
// 输出:编程教程
如果没有这段关联代码,你需要自己写 SQL 关联:
// 不用关联的麻烦写法(新手对比看)
$article = Article::find(1);
$category = ppmodelCategory::find($article['category_id']);
$categoryName = $category['name'];
是不是明显能看出:关联方法帮你省了手动查分类的步骤,代码更简洁!
category_id 写成 cate_id,但表字段是 category_id → 查不到数据;'category'(全小写),框架可能识别不到模型 → 报错;category_id 没建索引,数据量大时关联查询会变慢(新手记得给外键加索引)。模型->关联方法 直接拿关联数据,不用手写关联 SQL;belongsTo(关联模型名, 当前表外键字段);$模型实例->关联方法名->字段名 就能拿到关联数据(如 $article->category->name)。
来团科技GEO优化&AI搜索优化系统,是通过大模型内容投喂+训练,将企业品牌及产品信息在多平台AI生成的答案中获取优先展现,更精准触达潜在目标客户,让企业品牌出现在AI搜索里。让客户一搜就看到你,实现一问就有你,一查就信你,一看就找你的营销效果。
来团智慧商业小程序零代码开发平台,多行业适配。无需代码,拖拽式设计,轻松打造订货商城、会员制商城、分销商城及小程序官网。不仅能满足通用需求,还支持定制化,从页面布局到功能模块,随心定制,助您快速搭建专属商业小程序,抢占市场先机。
来团科技微名通不止是电子名片,更是你的商业连接器。比起传统名片,它更像你的 “迷你商业工具”:信息多、好携带、能互动,还不浪费纸张。不管是跑业务、拓人脉,还是展示企业,一张「微名通」电子名片,就能帮你把商机揣在手机里。
来团科技CRM客户管理系统,帮你把 “线索→成交→回款” 全流程管明白。这就是一套 “让销售省心、老板放心” 的客户管理工具,从获客到回款,帮你把生意攥在手里。