drwj4061 2018-11-12 20:36
浏览 37

PHP / Laravel - 结合结果(模型关系)

Right now I have below data:

First

Second

Now the problem with above is, that it's creating a new array for each entry in my database.

I would very much like to get below output:

Third

Fourth

The difference is here that:

  • All the routes that are the same, should be grouped. So if the Route is the same, it should be under the same route list.
  • If the Carrier under the route is the same, then it should be under that route and carrier

  • If the route is different, it should start a new list (**Route: XYZ to XYZ)

Current Code:

Controller.php:

public function show()
    {
        $routes = Routes::where('id', '>=', 1)
        ->with('routeStops', 'getVessel')
        ->get()
        ->toArray();

        foreach ($routes as $key => $value) {
            echo '<h2>Route: ' . $value['origin'] . ' to ' . $value['destination'] . '</h2>';
            $carrier = Carriers::where('id', $value['get_vessel']['carriers_id'])->first()->name;
            echo 'Carrier: ' . $carrier . '';
            dump($value);
        }

    }

This is my models:

Routes.php

/**
 * Get the route stop associated with this route.
 */
public function routeStops()
{
    return $this->hasMany('App\RouteStops', 'route_id');
}

/**
* Get the vessel record associated with this route.
*/
public function getVessel()
{
    return $this->belongsTo('App\Vessels', 'vessel_id');
}

How can I do so I achieve the 2nd desired output?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 软件测试决策法疑问求解答
    • ¥15 win11 23H2删除推荐的项目,支持注册表等
    • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
    • ¥15 qt6.6.3 基于百度云的语音识别 不会改
    • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
    • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
    • ¥15 lingo18勾选global solver求解使用的算法
    • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
    • ¥20 测距传感器数据手册i2c