【问题标题】:How to remove field name from json output如何从 json 输出中删除字段名称
【发布时间】:2020-11-10 14:56:58
【问题描述】:

在我的 Laravel-5.8 中,我通过控制器将数据从数据库传递到使用 JSON 进行查看:

public function findNationalHoliday(Request $request)
{
   $nationalholidays               = HrNationalHoliday::select('holiday_date')->whereYear('created_at', '=', date('Y'))->get();
 return response()->json([
    'nationalholidays' => $nationalholidays,
 ]);        
}

然后将其发送到通过下面的ajax/json 显示的视图:

< script type = "text/javascript" >
  var holidayDays = [];
$(document).ready(function() {
  $(document).on('change', '#leave_type', function() {
    var air_id = $(this).val();

    var a = $(this).parent();

    var op = "";

    $.ajax({
      type: 'get',
      url: '{{ route('
      get.leavecounts.all ') }}',
      data: {
        'id': air_id
      },
      dataType: 'json', //return data will be json
      success: function(data) {
        holidayDays = data.nationalholidays;
        console.log(data.nationalholidays);
      },
      error: function() {

      }
    });
  });
}); <
/script>
0:
holiday_date: "2020-11-12 00:00:00"
__proto__: Object
1:
holiday_date: "2020-11-16 00:00:00"
__proto__: Object
2:
holiday_date: "2020-11-19 00:00:00"
__proto__: Object
3:
holiday_date: "2020-11-30 00:00:00"
__proto__: Object
4:
holiday_date: "2020-12-14 00:00:00"
__proto__: Object
5: {holiday_date: "2020-12-01 00:00:00"}
6: {holiday_date: "2020-12-10 00:00:00"}
length: 7
__proto__: Array(0)

如何删除字段名称holiday_date 和时间00:00:00 的尾随零?

但只有日期。

谢谢

【问题讨论】:

    标签: json laravel laravel-5.8


    【解决方案1】:

    你可以map你的集合返回格式化的值:

    public function findNationalHoliday(Request $request) {
        $nationalholidays = HrNationalHoliday::select('holiday_date')
            ->whereYear('created_at', '=', date('Y'))
            ->get()
            ->map(function ($nationalholiday) {
                return DateTime::createFromFormat('Y-m-d h:i:s', $nationalholiday->holiday_date)
                    ->format('Y-m-d');
            });
        return response()->json([
            'nationalholidays' => $nationalholidays,
        ]);
    }
    

    【讨论】: