如何合并两个 Eloquent 集合?

2024-02-19

我有一个问题表和一个标签表。我想从给定问题的标签中获取所有问题。例如,我可能会将“旅行”、“火车”和“文化”标签附加到给定的问题上。我希望能够获取这三个标签的所有问题。看起来棘手的是,问题和标签关系是多对多,在 Eloquent 中定义为“belongsToMany”。

我考虑过尝试合并问题集合,如下所示:

foreach ($question->tags as $tag) {
    if (!isset($related)) {
        $related = $tag->questions;
    } else {
        $related->merge($tag->questions);
    }
}

但这似乎不起作用。似乎没有合并任何东西。我的尝试是否正确?另外,在 Eloquent 中是否有更好的方法来获取多对多关系中的一行?


merge 方法返回合并后的集合,它不会改变原始集合,因此您需要执行以下操作

$original = new Collection(['foo']);

$latest = new Collection(['bar']);

$merged = $original->merge($latest); // Contains foo and bar.

将示例应用到您的代码中

$related = new Collection();

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

如何合并两个 Eloquent 集合? 的相关文章

  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val

随机推荐

  • 使用 Perl 单行从文本文件中提取列:类似于 Unix cut

    我使用的是 Windows 我想使用 Perl Python 批处理等单行代码从文本文件中提取某些列 在 Unix 上我可以这样做 cut d f 1 3
  • 如何轻松地在 Git 中的多个发布分支上应用错误修复?

    我已经使用 git 进行单人开发有一段时间了 但直到现在我还没有遇到任何棘手的分支问题 而且我似乎忘记了一些基本的东西 而我在阅读实用版本后无疑 知道 这些东西使用 Git 进行控制书籍 我经常比我的网站上实际发布的内容提前几个版本 因此当
  • Hololens TCP 套接字 - Hololens 服务器的 Python 客户端

    经过几周的挫折后 我终于能够将一个字符串从 Python 客户端发送到 Hololens 服务器 代码如下并且运行完美 但是 我想知道是否有使用套接字经验的人可以帮助我修改此代码以将 openCV 网络摄像头帧 基本上只是发送图像 从 Py
  • 警告:复制捆绑资源构建阶段包含此目标的 Info.plist 文件

    我将一个项目分成两个构建 并给每个构建一个plist文件 一切正常 但我不断收到此构建警告 警告 复制捆绑资源构建阶段包含此目标的 Info plist 文件 MyApp Info plist 当我尝试构建时我得到了这个MyApp 构建第二
  • 数据库架构更新

    我正在开发一个使用本地 SQLite 数据库的 AIR 应用程序 并且想知道在分发新版本的应用程序时如何管理数据库架构更新 还考虑跳过某些版本的更新 例如 不是从 1 0 到 1 1 而是从 1 0 到 1 5 您会推荐什么技术 对于 SQ
  • WebClient DownloadFileAsync() 阻塞线程

    我正在尝试使用 WPF 和 MVVM 从我的网络服务器下载一个大文件 500 mb 因此 以下属性都绑定到某种控件 进度条 问题是 即使使用 DownloadFileAsync 应用程序仍然挂起 文件is从我的日志中可以看出 正在下载 当然
  • Apple Watch 的预处理器宏?

    我正在看苹果的Lister 适用于 Apple Watch iOS 和 OS X https developer apple com library prerelease ios samplecode Lister Listings Obj
  • Laravel 5.4:如何获取本周的记录?

    为了获取当天的所有记录 我做了 dt Carbon now dataToday Data whereDay created at dt gt day gt get 为了获取本周的记录 我尝试了以下方法 但没有成功 dataThisWeek
  • Ansible win_package 永远卡住

    我正在使用 win package 模块在 Windows 2016 服务器中安装 Nessus 但每当我执行它时 它就会永远挂起而没有响应 即使等了一个小时 也没有任何回应 我已经将 Nessus 安装程序保存在 Windows 服务器目
  • 创建全景视图android

    我想在 Android 中创建一个视图 屏幕 活动 其中的表格包含十列 由于 10 列不会在屏幕中调整宽度 不会采用可读格式 因此我一次显示 3 列 我想在应用程序中集成一个功能 如果用户在桌子上从右向左滑动 滑动 其他 3 4 列应该可见
  • 如何在网格视图中隐藏空列而不知道哪些列是空的?

    我正在使用一个 gridview 它根据下拉列表中的选择从 SQL 数据库中提取数据 源表有六列用于选择的属性 但根据选择的内容 可能会有一到六列为空 全部为空值 当该列为空时 我希望将其隐藏 以便页面不那么笨重和混乱 在过去的几天里 我一
  • 如何在 Debian Linux 系统上以非 root 身份安装 h5py (+numpy+libhdf5+...)

    我需要在 Debian Linux 系统上安装 h5py Python 模块及其所有缺少的依赖项 这项任务因以下原因而变得复杂 我在这个系统上没有任何超级用户权限 没有 sudo 没有 root 密码等 我使用的其余代码需要 Python
  • 生成 .p12 文件时没有证书与私钥匹配

    我已经成功生成了 p12文件 但我收到一条消息 如下所示 C OpenSSL Win32 bin gt openssl pkcs12 export inkey mykey key in exported pem out myfile p12
  • Xamarin.form 键盘出现时向上移动视图

    我正在尝试构建一个聊天应用程序用户界面 布局的想法非常简单 当输入栏获得焦点时 键盘会显示并 推 聊天栏 因为它是一个网格 ListView 将调整大小以适合屏幕 我更新输入栏的边距以 推 它 NSValue result NSValue
  • Qt Creator 需要设置编译器才能构建。在套件选项中配置编译器

    我已经安装了 Qt Creator5 和最新的二进制文件 但是当我运行任何程序时 它会给我这个错误 1 错误 Qt Creator 需要设置编译器才能构建 在套件选项中配置编译器 我已经在整个互联网上搜索了答案 但它不够充分并且没有帮助 请
  • icp变换矩阵解释

    我正在使用 PCL 从 ICP 获取变换矩阵 getTransformationMatrix 例如 对于没有旋转的平移运动获得的结果是 0 999998 0 000361048 0 00223594 0 00763852 0 0003605
  • 根据 nodemon 中的更改运行脚本

    是否可以使用nodemon在更改时运行脚本 是否可以做这样的事情 nodemon watch src exec yarn run my script 因此 理想情况下 我只想在发生更改时才运行脚本src folder 只需在要执行的脚本周围
  • 抑制 tbl_regression 中的置信区间脚注

    我正在使用 gtsummary 包中的 tbl regression 当从线性回归生成输出表时 有一个1CI 置信区间脚注出现在底行 有没有办法在 tbl regression 中抑制这个脚注 Use modify footnote eve
  • ::first-letter 也设置第一个字符的样式

    我有这样的文字 p first letter color red p Welcome p 但后来我意识到 定型了 我尝试使用 before但这也不起作用 p first letter color red p before content p
  • 如何合并两个 Eloquent 集合?

    我有一个问题表和一个标签表 我想从给定问题的标签中获取所有问题 例如 我可能会将 旅行 火车 和 文化 标签附加到给定的问题上 我希望能够获取这三个标签的所有问题 看起来棘手的是 问题和标签关系是多对多 在 Eloquent 中定义为 be