Laravel 自身模型上的父/子关系

2024-01-25

我想要获得至少有一个孩子的所有优惠券,一张优惠券可以有多个优惠券孩子,但任何优惠券只能有一个父母。

我使用以下模型和调用对其进行设置,并且它生成的查询是根据需要的,直到这一部分:'vouchers'.'parent_id' = 'vouchers'.'id'

想要的功能:

$vouchers = Voucher::has('children')->get();

or

$vouchers = Voucher::has('parent')->get();

结果查询

select * from `vouchers` where `vouchers`.`deleted_at` is null 
and (select count(*) from `vouchers` where `vouchers`.`deleted_at` is null 
and `vouchers`.`parent_id` = `vouchers`.`id` 
and `vouchers`.`deleted_at` is null ) >= 1

Models:

class Voucher extends baseModel {

    public function parent()
    {
        return $this->belongsTo('Voucher', 'parent_id');
        // return $this->belongsTo('Voucher', 'parent_id', 'id'); <- attempted but din't work
    }

    public function children()
    {
        return $this->hasMany('Voucher', 'parent_id');
    }
}

此问题已在 5.0 中报告并修复https://github.com/laravel/framework/pull/8193 https://github.com/laravel/framework/pull/8193

不幸的是,版本 4 没有向后移植。

但是,如果您想自己应用修复程序,您可以在此处查看修改列表:https://github.com/laravel/framework/pull/8193/files https://github.com/laravel/framework/pull/8193/files

请注意,修改框架的代码库是有风险的,但 Laravel 4.x 版本不会再有错误修复,只有几个月的安全修复。

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

Laravel 自身模型上的父/子关系 的相关文章

  • PHP 使用字符串作为运算符

    假设我有一根绳子 char char 我还有两个变量 a 和 b 分别等于 4 和 5 我如何得到结果 a char b ie 4 5 谢谢 您可以使用eval 正如 konforce所建议的 但是最安全的路线是这样的 left int a
  • php、curl、标题和内容类型

    我在处理服务器返回的curl 和标头时遇到一些问题 1 my website com index php 上的 php 文件如下所示 修剪版本 my content
  • 特性与界面

    我最近一直在尝试学习 PHP 我发现自己对 Trait 很着迷 我理解水平代码重用的概念 并且不想必然从抽象类继承 我不明白的是 使用特征与接口之间的关键区别是什么 我尝试寻找一篇不错的博客文章或文章来解释何时使用其中一种 但到目前为止我发
  • 在 Facebook 图表发布功能中包含换行符和项目符号点

    我试图允许我的用户将项目符号列表从我的网络应用程序发布到他们的 Facebook feed 该列表以表格形式创建 带有项目符号和换行符 然后可以对其进行编辑和提交 我的代码在发送常规文本 将表单内容发布到 FB 提要 时工作正常 但当消息包
  • Tortoise SVN 合并“@### 必须与 @### 有祖先关系”错误

    背景故事 找到了一份入门级 Web 开发人员的工作 当我开始工作时 首席开发人员就离开了 一切责任都在我身上 没用过SVN 盲目进去 Problem 我不断收到类似错误 svn svn svn xxx project name branch
  • Netbeans PHP/javascript 突出显示

    当将 PHP 与 Javascript 混合时 我一直在寻找 NetBeans 7 1 1 代码突出显示错误的解决方案 我也使用 Notepad 这没有问题 Example function showUpload file JS code
  • 如何从继承的方法中获取派生类的路径?

    如何从继承的方法中获取当前类的路径 我有以下内容 and
  • PHP - 解析具有固定列宽的文本文件

    我是 PHP 和 Laravel 的新手 我需要打开文件并解析内容以将它们传递到数据库 文本文件具有固定的列宽 它没有分隔符或标题 我认为使用子字符串并将每个子字符串分配给变量将是正确的方法 但我仍在学习该语言的过程中 我不知道如何实现这一
  • 将选定的日期值从 datepicker 传递到 php

    我在这里发现了类似的问题 但大多数解决方案对我不起作用 我有一个带有日期选择器的表单 我想将所选日期传递到我的 php 文件 但它似乎不起作用 我的 html 是这样的
  • 对于MySQL查询中的每个结果,推送到数组(复杂)

    好吧 这就是我想做的 我正在运行 MySQL 查询来获取最新的帖子 对于每个返回的行 我需要将行的 ID 推送到数组 然后在数组的该 ID 内 我需要从行中添加更多数据 多维数组 到目前为止 这是我的代码 query SELECT FROM
  • 在codeigniter中处理存储过程输出参数

    我在 mysql 中有一个带有输出参数的存储过程 我需要将结果发送到使用 codeigniter 的 php 寄存器模式 public function registerUser data sql call register new use
  • PHP DateTime 四舍五入到最近的 10 分钟

    我正在从 mysql 字段检索日期时间 但我需要对其进行四舍五入up精确到 10 分钟 例如 如果日期时间是 2013 11 06 14 00 01 我想返回时间为 6 11 2013 14 10 做到这一点最简单的方法是什么 dateti
  • Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 没有消息 Laravel 5.5

    这让我很头疼 尝试从表单登录时出现此错误 Symfony 组件 HttpKernel 异常 MethodNotAllowedHttpException 没有消息 登录控制器 php
  • 如何使用 HTTP POST multipart/form-data 将文件上传到服务器?

    我正在开发 Windows Phone 8 应用程序 我想使用 MIME 类型 multipart form data 和名为 userid SOME ID 的字符串数据的 HTTP POST 请求通过 PHP Web 服务上传 SQLit
  • 从浏览器中删除cookie?

    有什么方法可以指示网络浏览器完全delete一个人的cookie是用PHP设置的吗 我不想expiry或者等待浏览器closed 对于删除 我的意思是实际上不再将其列在 cookie 列表中 尝试这样删除所有 cookie foreach
  • Laravel 5 清除视图缓存

    我注意到 Laravel 缓存视图存储在 storage framework views 随着时间的推移 他们会吃掉我的空间 我该如何删除它们 有什么命令可以吗 我试过php artisan cache clear 但它并没有清除视图缓存
  • 如何使用 Laravel 伪造图像上传以使用干预图像包进行测试

    我有一个测试断言图像可以上传 这是代码 Test file UploadedFile fake gt image image one jpg Storage fake public response this gt post api ima
  • str_word_count 似乎不适用于俄语

    当我在俄语中使用 str word count 时 我的字数统计很差 我配置为 UTF 8 运行 php 5 5 28 以下代码返回 1 echo str word count 1963 60
  • 人类可读的 JSON:又名向 json 转储添加空格和换行符

    是否有一个 简单 脚本可以获取 json 数据并对其进行格式化以使其更具可读性 例如 response is a json encoded string var dump response 上面的内容在一行上输出所有内容 我希望将其缩进并加
  • 404 路由无法匹配请求的 URL

    我刚刚开始学习zend 框架 questions tagged zend framework并遵循此用户指南 http framework zend com manual 2 3 en index html 我能够成功安装zend skel

随机推荐

  • 为什么 scala 需要存在类型来限制泛型界限?

    具有以下类层次结构 trait Provider A def get Seq A abstract class ProviderImpl A extends Provider A final override def get Seq A S
  • 在JavaFX中实现只读样式?

    我想要具有不同状态的实体 控件或属性 这些状态可以通过 CSS 着色 例如 考虑 TextField 它可以包含两种类型的值 正常值和错误值 一旦包含错误值 应显示 红色 但实际的颜色应该可以由 CSS 定义 这可以实施吗 我发现了很多St
  • 使用 FileHandler 进行 Django 日志记录不起作用

    我正在 django 项目中使用下面的日志记录设置 也使用sentry raven 哨兵 乌鸦位工作正常 但文件日志记录却不行 创建一个空日志文件 但每当我使用logging info foo 日志文件中没有任何内容 即它保持为空 有什么建
  • Imgur API BUG 图片上传请求过多

    我正在通过 Imgur API 上传图像 https apidocs imgur com https apidocs imgur com 但我收到 请求太多 错误 429 即使前一个请求返回 X Ratelimit Userremainin
  • 使用 jqGrid 将列显示为行

    有没有办法将列显示为行 因此 行数代表我们尝试显示的对象的属性数量 列数代表返回的记录数 在我的情况下 它始终是一条记录 Picture 我尝试寻找现有的答案 但还没有找到 我也尝试过使用格式化程序 但我想它们仅用于格式化指定的单元格 而不
  • UIImageView IOS中间的透明圆圈

    I need to make UIImageView transparent at the Middle Position Round Circle See attached image I should be able to see th
  • Swing 方法类似于 HTML5 的 canvas.putImageData(arrayOfPixels, 0,0)

    我有一些 Javascript 代码作用于如下定义的像素数组 screen width 160 height 144 data new Array 160 144 4 canvas putImageData GPU scrn 0 0 其中
  • Adobe CQ/AEM - 触发编辑后处理程序

    当我在组件编辑器对话框中选择 确定 时 组件会重新绘制自身 假设我已经设置了 cq editConfig xml
  • C# 组合框 GotFocus

    我有一个 C ComboBox使用 WPF 我有在以下情况下执行的代码ComboBox s GotFocus被激活 问题是GotFocus每次从以下位置进行选择时都会执行事件ComboBox 例如 GotFocus当您第一次点击时执行Com
  • 如何使用 MigLayout 在面板上绘制分隔符

    这是一个 MigLayout 新手问题 我想知道如何从标签末端跨面板宽度绘制分隔符 这是我的示例代码 package com ndh swingjunk import java awt import javax swing import n
  • 获取范围内的所有变量

    有没有办法获取当前在 JavaScript 范围内的所有变量 虽然大家都回答 No 我知道 不 是正确的答案 但如果你真的需要得到局部变量一个函数有一个受限的方式 考虑这个函数 var f function var x 0 console
  • Wireshark 中不显示 UDP 数据包

    我有一个嵌入式码头服务器 服务器1 它发送UDP数据包作为触发器来接收来自另一台服务器 服务器2 的消息 然后 server1 等待来自 server2 的消息 然后该消息将被验证并进一步处理 通过测试 server1 我发现有时 serv
  • 如何在单击消息上的任意位置时关闭 GROWL 消息? (JSF、Primefaces)

    如果用户单击 我需要关闭用户界面中的咆哮消息anywhere 在消息上 这是必需的 因为 Primefaces 中默认咆哮消息的关闭按钮对于用户来说很难找到 有办法做到这一点吗 通过CSS解决这个问题怎么样 ui growl icon cl
  • 如何使用简单的 HTML DOM 来抓取它 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 如何在 Rails 中响应通过 AJAX 发出的 HTML 请求

    我正在尝试编写一个 Rails 控制器方法 该方法将响应 正常 例如 跟随链接 和通过 ajax 发出的获取请求 正常情况 控制器应使用布局以完全修饰的 HTML 进行响应 Ajax 案例 控制器应使用模板生成的 HTML 片段进行响应 无
  • 使用 jfreechart 创建时间序列

    现在我想在 jfreechart 中创建一个时间序列图 然而 在线示例仅包含使用 日 月 等类的图表 所以我想本质上创建一个 XY 折线图 然而 我遇到的问题是 Jfreechart 没有按照添加数据点的顺序连接数据点 此外 它也不按照 X
  • 从图库中获取选定的图像到 imageview

    我在从图库中选择图像并将其设置到imageview 假设我有两项活动 mainActivity包含画廊按钮和secondactivity含有imageview其中必须显示图像 b1 setOnClickListener new OnClic
  • 当文件存在时,python os.path.exists 报告 False

    您好 有一个应用程序有时会报告文件不存在 即使它存在 我正在使用 os path exists 并且该文件位于已安装的网络共享上 我使用的是 OSX Yosemite python 2 7 9 并且我拥有该文件的访问权限 这是奇怪的事情 下
  • 使用 pandas 将每月数据表转换为季节性时间序列

    我有一些表格格式的数据 其中行是年 列是月 我想将其转换为 pandas 中的时间序列格式 然后按季节平均值对数据进行分组 我特别想将冬季定义为 11 月至 3 月 并放弃其他所有内容 这是我将数据读入表格格式的代码 这样您就可以看到发生了
  • Laravel 自身模型上的父/子关系

    我想要获得至少有一个孩子的所有优惠券 一张优惠券可以有多个优惠券孩子 但任何优惠券只能有一个父母 我使用以下模型和调用对其进行设置 并且它生成的查询是根据需要的 直到这一部分 vouchers parent id vouchers id 想