php - 空值被插入数据库

标签 php mysql json rest api

我有一个 REST API,它应该将 JSON 的内容保存到 MySQL 数据库中。但是它将所有内容插入为空?这很奇怪,因为每当从 swift SDK 发送 JSON 时,它都能正常工作。

 public function saveTracking($request, $response, $args) {
        if(!$this->validToken($response)) {
            return $response;
        }
        $data = $request->getParsedBody();
        $tracking_data = json_decode(json_encode($data['tracking']), FALSE);
        $total_records = 0;
          //error_log(print_r($tracking_data, true));

        foreach($tracking_data as $key => $value) {
            $tracking = new EstablishmentTracking();
            $tracking->mobile_user_id = $this->authUser->id;
            $tracking->report_date = $value->report_date;
            $tracking->establishment_id = $value->establishment_id;
            if ($value->platform == MobileUser::ANDROID || $value->platform == MobileUser::IOS) {
                $tracking->platform = $value->platform;
            }
            $tracking->purchase_id = $value->purchase_id;

            error_log(print_r($tracking, true));
            $this->establishmentService->saveEstablishmentTracking($tracking);
            $total_records++;
        }
        $arr = array("status" => "ok"
                    ,"total_records" => $total_records
                    );
        print_r($arr);
        $newResponse = $response->withJson($arr);
        return $newResponse;
    }

添加一行打印变量内容后,我得到以下内容:

stdClass Object
(
    [establishment_id] => 39
    [report_date] => 2018-05-31 18:45:05
    [platform] => android
    [purchase_id] => 0

它是否没有将 JSON 作为数组正确发送?问题出在哪里?

最佳答案

我假设导致问题的 json 对象是 $tracking_data ,您正在使用的 json 解码需要具有从 false 到 true 的第二个值,这会将其转换为可使用键 stdClass 进行迭代的 php 数组,可能不会显示其属性

关于php - 空值被插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50630998/

相关文章:

mysql - 计算来自同一列的各种子串

mysql - 按创建时间+超时排序,MySQL

php - Laravel 5.5 groupBy 与总和和第一个选项

php - File_存在但不包含

php - javascript 与 php : pros and cons for code development

javascript - 如何用JS设置特殊属性,PHP会忽略什么?

php - WordPress 类别 php 查询内存不足?

javascript - 使用维基百科的 opensearch api 时,主题标签符号不会填充数据列表。为什么?

json - 我如何通过使用 node.js 从实时 json 数据中提取特定字段来创建一个新的单个 json 对象

ios - 具有反应性 objective-c 的 NSManagedObject