【发布时间】:2019-06-14 10:37:31
【问题描述】:
我打算将外部 api 的输出映射到模型中的对象属性。
例如data->x转Device->$attribute_x;,data->y转Device->$attribute_y;输出是对象数组。
我的预期结果是通过访问设备模型及其属性来提取每个对象,并在模型中进行一些操作。 (仅从 API 获取一次并在不同的函数中格式化)
有人可以就定义方法/类的方法给出一些指导吗?
这是我的外部 API 输出:
{
"data": [
{
"x": "1",
"y": "2"
},
{
"x": "11",
"y": "22"
}
]
}
这是在 Laravel 中没有扩展 Eloquent 的模型,可以使用 guzzle 从外部 API 中提取所有数据。
namespace App;
$client = new \GuzzleHttp\Client([
'base_uri' => 'https://xxxx.com',
'headers' => [
'content_type' => 'application/json',
'accept' => 'application/json'
]]);
$response = $client->get('units');
$data = json_decode($response->getBody());
class Devices
{
protected $attribute_x;
protected $attribute_y;
public static function all(){
}
}
【问题讨论】:
标签: arrays json object model mapping