【问题标题】:insert result from a function in a loop在循环中插入函数的结果
【发布时间】:2019-04-30 13:38:13
【问题描述】:

我需要计算查询中列中的日期与循环内的今天之间的差异,以收集装运的年龄

我尝试使用 datediff 将发货日期作为第一个参数,将 today() 作为第二个参数

@foreach($shipments as $shipment)
    <tr>
        <td data-title="id">{{$shipment->id}}</td>
        <td class=tracking data-title="tracking">{{$shipment->tracking}}</td>
        <td data-title="PartNumber">{{$shipment->PartNumber}}</td>
        <td data-title="DateShipped">{{$shipment->DateShipped}}</td>
        <td data-title="age" value={{$shipment->DateShipped}}-today()><?php echo date_diff({{$shipment->DateShipped}},today())?></td>
        <td data-title="Qtyorder">{{$shipment->Qtyorder}}</td>
        <td data-title="QtyShipped">{{$shipment->QtyShipped}}</td>
        <td data-title="QtyBckorder">{{$shipment->QtyBckorder}}</td>
        <td data-title="purchaseOrder">{{$shipment->purchaseOrder}}</td>
        <td data-title="OrderNumber">{{$shipment->OrderNumber}}</td>
        <td value={{$shipment->Location}}>{{$shipment->Location}}</td>
        <td data-title="paperwork">{{$shipment->paperwork}}</td>
        <td data-title="VMIreceived">{{$shipment->VMIreceived}}</td>
        <td data-title="VMIticketNumber">{{$shipment->VMIticketNumber}}</td>
        <td data-title="VMILRB">{{$shipment->VMILRB}}</td>

        <td><a href="{{ route('shipment.edit',$shipment->id)}}" class="btn btn-primary">Edit</a></td>
        <td>
            <form action="{{ route('shipment.destroy', $shipment->id)}}" method="post">
                @csrf
                @method('DELETE')
                <button class="btn btn-danger" type="submit">Delete</button>
            </form>
        </td>
    </tr>
@endforeach

【问题讨论】:

标签: php laravel


【解决方案1】:
@foreach($shipments as $shipment)
<tr>
    <td  data-title="id">{{$shipment->id}}</td>
    <td class=tracking data-title="tracking">{{$shipment->tracking}}</td>
    <td data-title="PartNumber">{{$shipment->PartNumber}}</td>
    <td data-title="DateShipped">{{$shipment->DateShipped}}</td>
    <td data-title="age" data-value="{{(int) floor((time() - strtotime('2019-04-29')) / (60 * 60 * 24))}}"></td>
    <td data-title="Qtyorder">{{$shipment->Qtyorder}}</td>
    <td data-title="QtyShipped">{{$shipment->QtyShipped}}</td>
    <td data-title="QtyBckorder">{{$shipment->QtyBckorder}}</td>
    <td data-title="purchaseOrder">{{$shipment->purchaseOrder}}</td>
    <td data-title="OrderNumber">{{$shipment->OrderNumber}}</td>
    <td value={{$shipment->Location}}>{{$shipment->Location}}</td>
    <td data-title="paperwork">{{$shipment->paperwork}}</td>
    <td data-title="VMIreceived">{{$shipment->VMIreceived}}</td>
    <td data-title="VMIticketNumber">{{$shipment->VMIticketNumber}}</td>
    <td data-title="VMILRB">{{$shipment->VMILRB}}</td>

    <td><a href="{{ route('shipment.edit',$shipment->id)}}" class="btn btn-primary">Edit</a></td>
    <td>
        <form action="{{ route('shipment.destroy', $shipment->id)}}" method="post">
            @csrf
            @method('DELETE')
            <button class="btn btn-danger" type="submit">Delete</button>
        </form>
    </td>
</tr>
@endforeach

它会给你天数的差异(例如 24-48 小时将显示 1 天,48-72 将显示 2 天)

(60 * 60 * 24) 这是minute * second * day, 如果您想以小时为单位显示差异,例如删除day,您将获得小时差异(60 * 60 而不是 60 * 60 * 24)

【讨论】:

  • 如果有效,点击这个答案是正确的:)
  • 现在我修改了你的答案以使用前一个单元格中的值,这正是我想要做的
【解决方案2】:

Carbon 支持human readable difference:

<td>{{ $shipment->DateShipped->diffForHumans() }}</td>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多