如何在Laravel 5.5中收集按日期分组的两个模型?

如何在Laravel 5.5中收集按日期分组的两个模型?,laravel,laravel-5,Laravel,Laravel 5,我有两个模型:旅游和探险。我想做一个旅行团和探险团,按日期分组。并按如下方式显示: Tour::orderBy('created_at', 'desc')->take(20)->get()->groupBy(function($item) { return $item->created_at->format('d-M-y'); }); 7月17日 巡演1巡演2巡演3 冒险1冒险2冒险3 七月十六日 巡

我有两个模型:旅游和探险。我想做一个旅行团和探险团,按日期分组。并按如下方式显示:

Tour::orderBy('created_at', 'desc')->take(20)->get()->groupBy(function($item)
          {
            return $item->created_at->format('d-M-y');
          });
7月17日

巡演1巡演2巡演3 冒险1冒险2冒险3

七月十六日

巡演1巡演2巡演3 冒险1冒险2冒险3

我知道如何对单个模型进行分组。事情是这样的:

Tour::orderBy('created_at', 'desc')->take(20)->get()->groupBy(function($item)
          {
            return $item->created_at->format('d-M-y');
          });
我如何将这两个模型连接起来并将它们显示在一个日期中?与当前代码一起显示在不同的集合中

编辑:包括表迁移

public function up()
    {
        Schema::create('tours', function (Blueprint $table) {
          $table->increments('id');

          $table->string('name', 125);
          $table->string('slug')->index();
          $table->text('description')->nullable();
          $table->string('duration')->nullable();
          $table->string('url')->nullable();

          $table->boolean('ended')->default(false)->index();

          $table->timestamps();
        });
        DB::statement('ALTER TABLE tours ADD FULLTEXT search(name)');
    }

探险模型的迁移与旅行相同。这两个模型之间没有共同的关系。

类似这样的东西应该可以做到:

Tour::join('adventures', DB::raw('date(adventures.created_at)'), '=', DB::raw('date(tours.created_at)'))->get()

当然,在运行->get之前,您仍然可以选择分组或排序,因为->get执行查询并生成集合:

我认为您正在寻找合并两个集合的合并方法

然后你可以在日期内循环

        @foreach($dates as $date => $activity)
            <h2>{{$date}}</h2>
            <li>
                {{$activity}}
            </li>
        @endforeach

您可能需要在这两个表之间进行连接。你能和我们分享一下表格定义吗?然后我们可以向您展示连接的外观。@RobBiermann我将在问题中包括表迁移。这两个模型没有共同的关系。