Laravel 5.5 Eloquent WhenLoaded 关系

2024-03-24

On the Laravel 5.5 文档 https://laravel.com/docs/5.5/eloquent-resources, under 条件关系, 它说

whenLoaded 方法可用于有条件地加载关系

我在我的代码中尝试过

public function toArray($request)
{
    return [
        'id' => $this->id,
        'name' => $this->name,
        'email' => $this->email,
        'roles' => Role::collection($this->whenLoaded('roles')),
        'remember_token' => $this->remember_token,
    ];
}

根据文档,角色键在发送到客户端之前已从资源响应中完全删除,因为关系尚未加载。

如何加载关系?如何确定关系是否已加载?在这种情况下我该如何加载Role(模型)?


急切加载

Eloquent 可以在查询父模型时“预加载”关系。

$user = App\User::with('roles')->find($id);

延迟预加载

在检索到父模型后立即加载关系

$user->load('roles');

加载缺失的关系

加载关系only当它还没有被加载时

$user->loadMissing('roles');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5.5 Eloquent WhenLoaded 关系 的相关文章

随机推荐

  • 正确确定日期字符串是否是该格式的有效日期

    我从 API 收到一个日期字符串 其格式为yyyy mm dd 我目前正在使用正则表达式来验证字符串格式 该格式工作正常 但我可以看到在某些情况下 根据字符串它可能是正确的格式 但实际上是无效的日期 IE 2013 13 01 例如 PHP
  • R包已安装但无法加载?

    我在 R 中安装了 digest 包 gt install packages digest Installing package into C Users user Documents R win library 3 3 as lib is
  • 为什么 Replace() 在我的 Python 函数中不起作用? [复制]

    这个问题在这里已经有答案了 这是实际代码 def replace exception chars string exception chars dict Old New old new exception chars keys list e
  • 如何更改时间选择器对话框片段的默认配色方案?

    我正在尝试更改时间选择器对话框片段的默认颜色 现在我不知道我应该做什么 这就是我设法将我的主题设置为 没有actionBar but this is the dialog i get 这是我的 xml 样式文件
  • 睡眠或暂停 NSThread

    我正在创建一个新线程 它每隔一定时间就运行我的方法之一 现在我正在做的事情如下 NSThread thread NSThread alloc initWithTarget self selector selector setUpTimerT
  • 如何向 clang-cl 添加 std=c++11 标志?

    我尝试在Windows下使用clang cl编译C 11程序 Clang cl 是 clang 的包装器 以便与 cl Visual Studio 编译器 更加兼容 我尝试添加 std c 11 and std c 11并且都被拒绝了 这并
  • Ruby on Rails:我的实际目标是什么?

    我一直在 Ruby on Rails 3 中构建应用程序 并且开始担心性能优化 现在我希望我的问题对于这个网站来说不太主观 但我对事实感兴趣 而不是讨论 所以这里是 虽然我试图让视图渲染得更快 但有一件事我根本不知道 我的目标是什么 给定一
  • 在同一活动中将数据片段传递给片段

    我有一些问题想询问有关在活动中将数据从一个片段传递到另一个片段的问题 我不知道该怎么做 有人可以帮忙吗 这是我的代码 ShareFragment java package com example user8 myapplication im
  • C - 两个指针之间的转换行为

    2020年12月11日更新 感谢 一些程序员老兄 在评论中的建议 我的根本问题是我们的团队正在实现动态类型存储引擎 我们分配多个字符数组 PAGE SIZE 缓冲区16 对齐存储动态类型的数据 没有固定的结构 出于效率原因 我们无法执行字节
  • 在 Windows 8 Metro 风格应用程序中,如何在应用程序未运行时更新动态磁贴?

    在 Windows 8 Metro 风格应用程序中 如何在应用程序未运行时更新动态磁贴 当操作系统开始启动时 动态磁贴开始运行 http blogs msdn com b windowsappdev archive 2012 04 16 c
  • Selenium Python 最小化浏览器窗口

    我知道如何从驱动程序对象调用最大化窗口的方法 driver maximize window 但是当我需要最小化浏览器窗口 隐藏它 时应该使用什么方法呢 实际上 驱动程序对象没有最大化窗口属性 我的目标是在浏览器窗口中默默地工作 我不想在我的
  • 如何从 docker 镜像中删除图层?

    我通过增量提交构建了一个 docker 映像 这导致在我的 docker 镜像中创建了很多层 随后镜像的大小变得非常大 有没有办法去除图层并从而减小图像的大小 任何帮助 将不胜感激 您可以尝试导出图像 然后再次导入 通过这种方式 所有图层都
  • TortoiseMerge 可以用作 Windows Git Bash 的 difftool 吗?

    我刚刚开始使用 Git 我想使用 TortoiseMerge 作为 difftool 和 mergetool In my HOME gitconfig我有以下部分 我已经删除了这个问题的用户和颜色部分 merge tool tortoise
  • 如何在android中以编程方式将视频发送到电子邮件

    我想从我的 Android 应用程序将 30 秒的视频发送到电子邮件 我已发送带有图像附件的电子邮件 但它不适用于视频 请帮助我做到这一点 提前致谢 send setOnClickListener new OnClickListener O
  • 针对依赖扩展对象的任务的 Gradle 插件最佳实践

    我希望获得有关定义依赖于外部状态的插件任务的最佳实践的反馈 即在引用插件的 build gradle 中定义 我使用扩展对象和闭包来推迟访问这些设置 直到它们需要且可用为止 我也对任务之间共享状态感兴趣 例如将一个任务的输出配置为另一任务的
  • 标签中提取内容 C# RegEx

    我有一个代码 string tag div string pattern string Format lt 0 gt
  • 2 个具有相同名称的 iPhone 应用程序。这怎么可能?

    As per iTunes Connect 开发人员指南 https itunesconnect apple com docs iTunesConnect DeveloperGuide pdf 1 应用程序名称应清晰 2 应用程序名称不应通
  • 根据属性值更改 VisualState

    如何根据 WP7 上的属性值更改 VisualState 我尝试使用 MVVM 模式 当我的模型加载时 我希望我的视图进入特定的 VisualState 在 Silverlight 中 我们有属性更改的触发器 但在 WP7 中没有 PS 我
  • 为什么 getline() 函数不起作用,除非我在函数 chamodifier 中调用它两次[重复]

    这个问题在这里已经有答案了 怎么了如果我在字符修饰符函数中仅使用一次 get line 函数 编译器将忽略它 除非我调用该函数两次 为什么我不能只使用一次 我尝试使用其他方法 它有效 但我想了解这个 我现在只是随机编写一些内容 这样添加更多
  • Laravel 5.5 Eloquent WhenLoaded 关系

    On the Laravel 5 5 文档 https laravel com docs 5 5 eloquent resources under 条件关系 它说 whenLoaded 方法可用于有条件地加载关系 我在我的代码中尝试过 pu