如何从 json 输出中删除字段名称

How to remove field name from json output

在我的 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 的尾随零?

但只有日期。

谢谢

你可以map年collection到return格式化值:

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,
    ]);
}