这里为什么可以这样写 $user = $this->find ($user_id); ?

在app/Models/Traits/ActiveUserHelper.php

 foreach ($users as $user_id => $user) {
            // 找寻下是否可以找到用户
            $user = $this->find($user_id);

            // 如果数据库里有该用户的话
            if ($user) {

                // 将此用户实体放入集合的末尾
                $active_users->push($user);
            }
        }

这里的$this->find()没有指定模型,他为什么会去user模型里面查找user_id ? 好奇怪 ,大佬们解释一下,谢谢啦!

失之东隅 , 收之桑榆
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 4
KayuHo

trait 了解下哦

5年前 评论
pardon110

$this->find($user_id) $this是出现在trait内,它指向引入该trait的类实例。由于在User模型中引入了此trait, 此时$this即为User类的实例,而find只是User模型上的一个方法,其参数为模型的主键,所以其实是找去 user 表里面查找 与$user_id变量值相等的主键id记录,返回查询到的user模型实例

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!