扫码查看文章
public function scopeVideoGroup(Query $query, int $wxappId): Query
{
return $query->where('wxapp_id', $wxappId)
->where('group_type', self::GROUP_TYPE_VIDEO)
->where('is_delete', 0);
}
self 是什么self 代表当前这个类本身(VideoGroup 模型类),是类内部访问类常量、静态属性、静态方法的关键字。
$this 区分开(重点)$this:指向实例对象,只能在普通成员方法里用,访问实例属性;self:指向类本身,访问类常量 / static 静态变量 / 静态方法。self::GROUP_TYPE_VIDEO 拆解const GROUP_TYPE_VIDEO = 'video';
这行是类常量,属于类,不属于某个实例。
GROUP_TYPE_VIDEO:常量名;:::范围解析操作符,用来取类的常量/静态成员;self = 当前 VideoGroup 类。等价完整写法:
VideoGroup::GROUP_TYPE_VIDEO
但如果类名改了(比如以后重命名 VideoGroup),硬写类名要全部改;用 self 不用改,自动指向当前类。
$this::GROUP_TYPE_VIDEO常量是属于类的,不是属于某个对象实例:
$this 是实例,$this::常量 语法虽不报错,但语义不规范;class VideoGroup
{
// 类常量(归属于类)
const GROUP_TYPE_VIDEO = 'video';
// 实例属性(归属于对象)
public string $group_name;
public function scopeVideoGroup(Query $query, int $wxappId): Query
{
// 取当前类的常量 → self::
echo self::GROUP_TYPE_VIDEO;
// 取当前对象的实例属性 → $this->
echo $this->group_name;
return $query;
}
}
self:当前类;static:延迟静态绑定(继承场景用,子类重写常量时会取子类的值);self::static::OtherModel::XXX
来团科技GEO优化&AI搜索优化系统,是通过大模型内容投喂+训练,将企业品牌及产品信息在多平台AI生成的答案中获取优先展现,更精准触达潜在目标客户,让企业品牌出现在AI搜索里。让客户一搜就看到你,实现一问就有你,一查就信你,一看就找你的营销效果。
来团智慧商业小程序零代码开发平台,多行业适配。无需代码,拖拽式设计,轻松打造订货商城、会员制商城、分销商城及小程序官网。不仅能满足通用需求,还支持定制化,从页面布局到功能模块,随心定制,助您快速搭建专属商业小程序,抢占市场先机。
来团科技微名通不止是电子名片,更是你的商业连接器。比起传统名片,它更像你的 “迷你商业工具”:信息多、好携带、能互动,还不浪费纸张。不管是跑业务、拓人脉,还是展示企业,一张「微名通」电子名片,就能帮你把商机揣在手机里。
来团科技CRM客户管理系统,帮你把 “线索→成交→回款” 全流程管明白。这就是一套 “让销售省心、老板放心” 的客户管理工具,从获客到回款,帮你把生意攥在手里。
来团科技 2016-2026 沪公网安备31011402022095号 沪ICP备19004216号-2
来团QQ客服