【问题标题】:Laravel orderBy created_at and another time fieldLaravel orderBy created_at 和另一个时间字段
【发布时间】:2018-05-17 12:06:27
【问题描述】:

我有下表和以下代码来检索商店订单;

我的意图是获取订单并根据 created at 进行排序,并在与 created_at orderby 相关的同时按升序对 delivery_from 时间字段进行排序。

一个有效查询将获取以下内容的示例;

delivery_from: 10:00, created_at: 10/10/2018
delivery_from: 12:00, created_at: 10/10/2018
delivery_from: 09:00, created_at: 15/10/2018
delivery_from: 15:00, created_at: 15/10/2018

我下面的当前代码是这样获取它的;

delivery_from: 09:00, created_at: 15/10/2018
delivery_from: 10:00, created_at: 10/10/2018
delivery_from: 12:00, created_at: 10/10/2018
delivery_from: 15:00, created_at: 15/10/2018

$store = auth('manager')->user->store;
$orders = $store->orders()->orderBy('created_at', 'desc')->orderBy('delivery_from', 'asc')->get();

Schema::create('orders', function (Blueprint $table) {
            $table->increments('id');
            $table->unsignedInteger('user_id');
            $table->unsignedInteger('store_id');
            $table->unsignedInteger('delivery_method');
            $table->float('final_price', 8, 2);
            $table->float('delivery_price', 8, 2);
            $table->unsignedInteger('payment_type');
            $table->unsignedInteger('status');
            $table->boolean('paid')->default(false);
            $table->time('delivery_from');
            $table->time('delivery_to');
            $table->timestamps();
        });

【问题讨论】:

标签: laravel


【解决方案1】:

我认为您应该先通过delivery_from 订购,如下所示:

$orders = $store->orders()->orderBy('delivery_from', 'asc')->orderBy('created_at', 'desc')->get();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2019-01-22
    • 1970-01-01
    • 2017-06-07
    • 2013-12-15
    • 1970-01-01
    相关资源
    最近更新 更多