【问题标题】:How to Retrieve and Store JSON data into Database using Laravel如何使用 Laravel 检索 JSON 数据并将其存储到数据库中
【发布时间】:2021-02-27 01:22:02
【问题描述】:

我在我的应用程序中使用 Laravel-5.8,并且我在 Controller 中有这个 JSON 记录:

public function findLeaveCount(Request $request)
{
    $nationalholidays = HrHolidayDate::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,
    ]);           
}

我是这样找回的:

< script type = "text/javascript" >
  var holidayDays = [];
$(document).ready(function() {
  $(document).on('change', '#leave_type', function() {
    $.ajax({
      type: 'get',
      url: '{{ route('
      get.employeeleavecounts.all ') }}',
      data: {
        'id': air_id
      },
      dataType: 'json', //return data will be json
      success: function(data) {
        $('#nationalholidays').val(data.nationalholidays);
        holidayDays = data.nationalholidays;
        console.log(holidayDays);
      },
      error: function() {

      }
    });
  });
}); <
/script>
&lt;input type="hidden" id="nationalholidays" class="form-control"&gt;

这在控制台中给了我这个:

(7) ["2020-11-12", "2020-11-16", "2020-11-19", "2020-11-30", "2020-12-14", "2020-12-01", "2020-12-10"]
0: "2020-11-12"
1: "2020-11-16"
2: "2020-11-19"
3: "2020-11-30"
4: "2020-12-14"
5: "2020-12-01"
6: "2020-12-10"
length: 7
__proto__: Array(0)

然后:

 <input type="hidden" id="nationalholidays" class="form-control">

以这种方式呈现:

2020-11-12,2020-11-16,2020-11-19,2020-11-30,2020-12-14,2020-12-01,2020-12-10

我该怎么做:

<input type="hidden" id="nationalholidays" class="form-control">

以这种方式呈现数据:

 ["2020-11-12", "2020-11-16", "2020-11-19", "2020-11-30", "2020-12-14", "2020-12-01", "2020-12-10"]

因为这是我想将其存储到数据库中的格式。

谢谢

【问题讨论】:

    标签: jquery json laravel


    【解决方案1】:

    返回的数据是 JSON 格式,由于您将请求的类型设置为 JSON,它会立即被解析并转换为 JavaScript 数组。

    您想将其显示为 JSON 字符串,因此只需将数组再次转换为 JSON:

    $('#nationalholidays').val(JSON.stringify(data.nationalholidays))
    

    【讨论】:

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