laravel的一个语法问题

![](https://cdn.learnku.com/uploads/images/202011/11/58149/7XKYrJRR5a.jpg!large)

如上图红色方框所示为什么 这样写 ->fans 而不是 ->fans()

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

接上楼,我的理解是,用属性相当于把这个user的fans直接查出啦了。但是用fans()的话,其实并没有查出来,而是一个查询构造器,比如user->fans()->where('name', 'siiiyaa')->find()则是把这个用户的名字为siiiyaa的fans查出来,即进一步对所关联的模型再做筛选。希望能帮到你 :blush:

3年前 评论
lyxxxh 3年前
讨论数量: 5

接上楼,我的理解是,用属性相当于把这个user的fans直接查出啦了。但是用fans()的话,其实并没有查出来,而是一个查询构造器,比如user->fans()->where('name', 'siiiyaa')->find()则是把这个用户的名字为siiiyaa的fans查出来,即进一步对所关联的模型再做筛选。希望能帮到你 :blush:

3年前 评论
lyxxxh 3年前

类中定义了魔术方法

3年前 评论

接上楼,我的理解是,用属性相当于把这个user的fans直接查出啦了。但是用fans()的话,其实并没有查出来,而是一个查询构造器,比如user->fans()->where('name', 'siiiyaa')->find()则是把这个用户的名字为siiiyaa的fans查出来,即进一步对所关联的模型再做筛选。希望能帮到你 :blush:

3年前 评论
lyxxxh 3年前

fans() 是在

file 这里相当于是获取对象里面的 fans 的值

模型关联《Laravel 8 中文文档》

3年前 评论
22 (作者) 3年前

其实->fans是触发了魔术方法帮你查的

3年前 评论

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