【问题标题】:Laravel 5.7 Object serialization and de-serializationLaravel 5.7 对象序列化和反序列化
【发布时间】:2020-05-03 03:56:18
【问题描述】:

我的问题。

我有 2 个 laravel 实例都在不同的 IP 上运行,但环境和版本是相同的。

& 我有 1 个与其他子模型相关的模型。

我想通过 API 传递整个对象并将其保存在另一端。

希望这能澄清我的问题。

【问题讨论】:

    标签: laravel object serialization deserialization


    【解决方案1】:

    据我了解,你可以做到。这是一个简单的潜行高峰:

    $user = App\User::find(1);
    
    return $user->toJson();
    
    

    可以找到here。假设您有一个用户模型,并且您想从外部访问它。您可以创建一个 API 端点(如果需要,可以进行身份​​验证。但是,如果您的 API 端点直接访问任何模型,显然建议使用安全身份验证),它将接受用户 ID 并通过 API 响应传递整个用户对象。

    【讨论】:

      【解决方案2】:

      要将模型转换为 JSON,您应该使用 toJson 方法。 toJson 方法是递归的,所以所有的属性和关系都会被转换成 JSON。您还可以指定 PHP 支持的 JSON 编码选项:

       //...
       $users = App\User::with('posts')->all();
       return $users->toJson();
       //return $users->toJson(JSON_PRETTY_PRINT);
      

      然后在使用 API 时,您可以获取已经通过数据主体原始请求发送的 json,例如

      // First we fetch the Request instance
      $request = Request::instance();
      
      // Now we can get the content from it
      $content = $request->getContent();
      

      【讨论】:

        猜你喜欢
        • 2016-10-14
        • 2014-12-24
        • 2013-04-11
        • 1970-01-01
        • 1970-01-01
        • 2015-10-06
        • 2020-02-24
        • 2013-05-01
        • 2016-11-20
        相关资源
        最近更新 更多