laravel - 如何使用 Laravel 拉起一系列比率
问题描述
如何使用 Laravel 拉起一系列比率。我有一个表,第一个捐助者 id 中有 2 列,第二个是结果记录的 id。因此,后者也可以成为捐赠者,依此类推。如何为最终记录提取所有捐赠者 ID。 https://i.imgur.com/ducWcck.gif 例如,如果其中有一条记录 239345,则创建 239351,进而创建 239352。如何显示 239345、239351?
我想不出比循环更好的东西了,像这样的东西。
$ids = [];
$child = CombinedOrder::query()->where('to_order_id', $current)->first();
$lastId = $child->from_order_id;
array_push($ids, $child->to_order_id);
array_push($ids, $lastId);
while (!is_null($lastId) && !is_null($child)) {
$lastObj = CombinedOrder::query()->where('to_order_id', $lastId)->first();
$lastId = is_null($lastObj) ? null : $lastObj->from_order_id;
if (!is_null($lastId)) {
$ids[] = $lastId;
}
}
解决方案
推荐阅读
- python - Python递归限制与堆栈大小?
- c# - 在itemscontrol wpf C#中命名后,如何检查使用itemscontrol动态创建的控件的状态
- angular - ngStyle VS Renderer2 ?我应该使用什么?
- go - 将值分配给结构golang中的结构时出错
- python - python ElementTree.Element 缺少文本?
- html - rvest 和 NHL 统计数据的 Css 选择器问题
- asp.net-mvc - Angular 5 不使用 MVC 引导
- c - Makefile:crt1.o:在函数`_start'中:(.text + 0x20):未定义对`main'的引用
- python-2.7 - Python 2.7 端口扫描器
- python - 将具有度分秒(DMS)坐标的熊猫数据帧转换为十进制度