@include ('users._topics', ['topics' => $user->topics ()->recent ()->paginate (5)])?

@include('users._topics', ['topics' => $user->topics()->recent()->paginate(5)])
这一节请教下大家2个问题,
1.user模型下获取topic属性数据用$user->topic; 这个上面的$user->topic() 有什么区别呢,一个属性一个是方法?什么场景下用呢?

  1. recent();这输出模板中的recent()方法哪里来的哟?
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
FMW
最佳答案
  1. $user->topic = $user->topic()->get()
  2. 区别在于以属性访问时会自动调用get(),以方法形式调用时是返回一个EloquentBuilder,后面还可以继续调用其他的EloquentBuilder,比如你后面调用的recent(),调用完返回的同样是EloquentBuilder
  3. recent()方法应该是教程里封装的一个根据最新时间排序的scope吧(看楼上评论得知),但是这个好像是完全没有必要的,因为框架的模型自带了一个latest() scope,作用也是根据最新时间排序,所以完全没必要自己再写一个recent() scope
7个月前
讨论数量: 4

关联方法 Vs. 动态属性,关联方法主要是还可以传个闭包对关联的数据进行筛选,其他的都一样

8个月前

回答第二个问题:
recent()方法时 Topic模型中定义的本地作用域 scopeRecent(), 用于获取Topic中的最新创建的数据(也就是按照created_at的desc排序)

7个月前
FMW
  1. $user->topic = $user->topic()->get()
  2. 区别在于以属性访问时会自动调用get(),以方法形式调用时是返回一个EloquentBuilder,后面还可以继续调用其他的EloquentBuilder,比如你后面调用的recent(),调用完返回的同样是EloquentBuilder
  3. recent()方法应该是教程里封装的一个根据最新时间排序的scope吧(看楼上评论得知),但是这个好像是完全没有必要的,因为框架的模型自带了一个latest() scope,作用也是根据最新时间排序,所以完全没必要自己再写一个recent() scope
7个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!