【发布时间】:2018-07-21 01:28:37
【问题描述】:
在我的 Laravel 项目中,我正在调用第 3 方 api,并尝试将 json 响应中的一些数据消耗到我的数据库中。
我的功能
public function addPlaid(Request $request) // adds a plaid user
{
$username = $request->input('bank_username');
$password = $request->input('bank_password');
$pin = $request->input('pin'); // set null
$type = $request->input('type');
$authUser = Plaid::addAuthUser($username, $password, $pin, $type);
return $authUser;
}
我的回应
{
"type": "device",
"mfa": {
"message": "Code sent to t...t@plaid.com"
},
"access_token": "test_chase"
}
在这里,我想将 JSON 响应中的“access_token”值保存到plaid_access_token 列下的users 表中。我继续改变我的功能来尝试这样做。
public function addPlaid(Request $request) // adds a plaid user
{
$username = $request->input('bank_username');
$password = $request->input('bank_password');
$pin = $request->input('pin'); // set null
$type = $request->input('type');
$authUser = Plaid::addAuthUser($username, $password, $pin, $type);
$authUserData = json_decode($authUser['access_token']);
User::where('user_id', '=', 51)->update(['access_token' => $authUser->access_token]);
return $authUser;
}
但现在我收到一个错误Trying to get property 'access_token' of non-object
我想弄清楚我是否采取了错误的方法来使用这行代码保存它User::where('user_id', '=', 51)->update(['plaid_access_token' => $authUser->access_token]);
注意:我使用的是用户 51,所以我知道它保存在哪里。
【问题讨论】:
-
如果
$authUser是json,是否需要json_decode()才能访问它的属性。