一个 blade 模板页面需要很多数据 在哪赋值合适

我的一个用户个人中心页面需要用到很多数据,这个用户有很多关联表,需要从关联表获取和用户相关的数据。我想知道在哪给页面赋值比较好。我现在几个方案。一个是把获取数据的方法写在 user model 里面,然后在模板里面直接通过用户实例调用这些方法,例如 {{ $user->getOrders() }}。另一个方法是写一个 userService 类,把获取用户数据的方法都写在这个类里面,然后通过在 controller 里面调用这个 service, 把 service 返回的数据在 controller 里面赋值给模板变量,或者直接在模板里面注入这个 service, 然后在模板里调用这个 service 里面的方法。再有一种方法就是使用 viewcomposer 获取数据并赋值。不知道大家觉得哪种比较优雅?

龙小默
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
jltxwesley
最佳答案

很多数据但并不复杂,你用第一种方法就行,而且如果数据不需要处理,可以直接在 blade 里调用关联表的数据,比如 $user->orders

View Composer 比较适用于:同样的数据 需要在很多不同的 blade 里被使用 或者 数据只用于一个 partial blade,但是被很多其它的 blade 调用

5年前 评论
讨论数量: 2
jltxwesley

很多数据但并不复杂,你用第一种方法就行,而且如果数据不需要处理,可以直接在 blade 里调用关联表的数据,比如 $user->orders

View Composer 比较适用于:同样的数据 需要在很多不同的 blade 里被使用 或者 数据只用于一个 partial blade,但是被很多其它的 blade 调用

5年前 评论
龙小默

@jltxwesley 谢谢

5年前 评论

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