下面是done.blade.php:

@extends('layout.app')

@section('title', 'Done Data')

@section('content')

<div class="card shadow">
    <div class="card-header">
        <h4 class="card-title">
            List of request that has been done
        </h4>
    </div>
    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-bordered table-hover table-striped">
                <thead>
                    <tr>
                        <th>No</th>
                        <th>Request Date</th>
                        <th>Invoice</th>
                        <th>Member</th>
                        <th>Total</th>
                    </tr>
                </thead>
                <tbody></tbody>
            </table>
        </div>
    </div>
</div>
    
@endsection

@push('js')
    <script>
        $(function(){
            
            function date(date) {
                var date = new Date(date);
                var day = date.getDate(); //Date of the month: 2 in our example
                var months = ["January", "February", "March", "April", "May", "June", "July",
         "August", "September", "October", "November", "December"];
                var month = months[date.getMonth()]; //Month of the Year: 0-based index, so 1 in our example
                var year = date.getFullYear();

                return `${day}-${month}-${year}`;
            }

            const token = localStorage.getItem('token')
            $.ajax({
                url : '/api/order/done',
                headers: {
                    "Authorization": "Bearer" + token
                },
                success : function ({data}) {
                    

                    let row;
                    data.map(function (val,index) {
                       row += `
                       <tr>
                            <td>${index+1}</td>
                            <td>${date(val.updated_at)}</td>
                            <td>${val.invoice}</td>
                            <td>${val.member.member_name}</td>
                            <td>${val.order_total}</td>
                        </tr>
                       `;
                    });
                    
                    $('tbody').append(row)
                }
            });

        });
    </script>
@endpush

这里是控制器:

<?php

namespace App\Http\Controllers;

use App\Models\Order;
use App\Models\OrderDetail;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Validator;

class OrderController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth')->only(['list','approved_list','ongoing_list','done_list']);
        $this->middleware('auth:api')->only(['store','update','destroy','status_change','requested','approved','ongoing','done']);

    }
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        $orders = Order::with('member')-> get();

        return response() -> json([
            'data' => $orders
        ]);
    }

    public function list() {

        return view ('order.index');
    }
    
    public function approved_list() {

        return view ('order.approved');
    }

    public function ongoing_list() {

        return view ('order.ongoing');
    }

    public function done_list() {

        return view ('order.done');
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        $validator = Validator::make($request -> all(), [
            'member_id' => 'required'
        ]);
        if ($validator -> fails()){
            return response() -> json(
                $validator -> errors(), 422
            );
        }

        $input = $request -> all();
        $order = Order::create($input);

        for ($i=0; $i < count($input['id_product']); $i++) {
            OrderDetail::create([
                'id_order' => $order['id'],
                'id_product' => $input['id_product'][$i],
                'quantity' => $input['quantity'][$i],
                'requirements' => $input['requirements'][$i],
                'total' => $input['total'][$i],
            ]);
        }

        return response() -> json([
            'data' => $order
        ]);
    }

    /**
     * Display the specified resource.
     */
    public function show(Order $order)
    {
        return response() -> json([
            'data' => $order
        ]);
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(Order $order)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, Order $order)
    {
        $validator = Validator::make($request -> all(), [
            'member_id' => 'required',
            'description' => 'required'
        ]);
        if ($validator -> fails()){
            return response() -> json(
                $validator -> errors(), 422
            );
        }

        $input = $request -> all();
        $order -> update($input);

        OrderDetail::where('id_order',$order['id'])->delete();

        for ($i=0; $i < count($input['id_product']); $i++) {
            OrderDetail::create([
                'id_order' => $order['id'],
                'id_product' => $input['id_product'][$i],
                'quantity' => $input['quantity'][$i],
                'requirements' => $input['requirements'][$i],
                'total' => $input['total'][$i],
            ]);
        }

        return response() -> json ([
            'message' => 'Order Updated',
            'data' => $order
        ]);
    }

    public function status_change(Request $request, Order $order)
    {
        
        $order->update([
            'status'=>$request -> status
        ]);
        
        return response() -> json ([
            'message' => 'Order Updated',
            'data' => $order
        ]);
    }

    public function requested()
    {
        $orders = Order::with('member') -> where('status','Requested')->get();

        return response() -> json([
            'data' => $orders
        ]);
    }


    public function approved()
    {
        $orders = Order::with('member') -> where('status','Approved')->get();

        return response() -> json([
            'data' => $orders
        ]);
    }

    public function ongoing()
    {
        $orders = Order::with('member') -> where('status','Ongoing')->get();

        return response() -> json([
            'data' => $orders
        ]);
    }

    public function done()
    {
        $orders = Order::with('member') -> where('status','Done')->get();

        return response() -> json([
            'data' => $orders
        ]);
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(Order $order)
    {
        File::delete('uploads/'. $order -> image);
        $order -> delete();

        return response() -> json([
            'message' => 'Order Deleted'
        ]);
    }
}

所以我想从数据库列UPDATE_AT获取日期和时间到Blade 文件,首先输出是这样的2022-12-20T13:20:51.000000Z,然后我try 将输出格式设置为‘日-月-年’,但是,如何才能将输出格式设置为‘日-月-年时间’呢? 例如:2023年9月14日至2023年9月14日07:20:00

推荐答案

您可以使用FormatDate函数,如下所示

    function formatDate(date) {
        var dateObject = new Date(date);
        var day = dateObject.getDate();
        var months = ["January", "February", "March", "April", "May", "June", "July",
            "August", "September", "October", "November", "December"];
        var month = months[dateObject.getMonth()];
        var year = dateObject.getFullYear();
        var hours = dateObject.getHours();
        var minutes = dateObject.getMinutes();
        var seconds = dateObject.getSeconds();

        // Add leading zeros if needed
        if (hours < 10) {
            hours = "0" + hours;
        }
        if (minutes < 10) {
            minutes = "0" + minutes;
        }
        if (seconds < 10) {
            seconds = "0" + seconds;
        }

        return `${day}-${month}-${year} ${hours}:${minutes}:${seconds}`;
    }

然后在Blade 中像这样使用它

    data.map(function (val, index) {
        row += `
        <tr>
            <td>${index + 1}</td>
            <td>${formatDate(val.updated_at)}</td>
            <td>${val.invoice}</td>
            <td>${val.member.member_name}</td>
            <td>${val.order_total}</td>
        </tr>
        `;
    });

Javascript相关问答推荐

为什么(1 + Number.Min_UTE)等于1?

如何在dataTables PDF输出中正确渲染字形?

我无法在NightWatch.js测试中获取完整的Chrome浏览器控制台日志(log)

如何在表格上拥有水平滚动条,在正文页面上拥有垂直滚动条,同时还对html表格的标题使用位置粘性?

WebRTC关闭navigator. getUserMedia正确

如何调用名称在字符串中的实例方法?

实现JS代码更改CSS元素

加载背景图像时同步旋转不显示的问题

制作钢琴模拟器,并且在控制台中不会执行或显示该脚本

使用Java脚本导入gltf场景并创建边界框

Reaction Native中的范围滑块

在浏览器中触发插入事件时检索编码值的能力

如何将数据块添加到d3力有向图中?

使用带有HostBinding的Angular 信号来更新样式?

在不删除代码的情况下禁用Java弹出功能WordPress

如何在HTMX提示符中设置默认值?

如何为仅有数据可用的点显示X轴标签?

Node.js错误: node 不可单击或不是元素

Cherrio JS返回父div的所有图像SRC

我无法在Api Reaction本机上发出GET请求