[英]How to use updateOrCreate proprely
這是我的代碼:
$user = \App\User::where('id', $uid)->firstOrFail();
$user->token()->updateOrCreate(['user_id' => $uid, 'type' => $type], [
'auth' => $auth_token,
'refresh' => $refresh_token,
'type' => $type
]);
我有兩個模型User
和Token
,具有'一對一'的關系。
在第一行,我嘗試將User捕獲到數據庫中,然后使用updateOrCreate()
方法更新我的模型。
但是,正如您可以閱讀它,我必須使用選擇器'user_id' => $uid
才能成功更新我的模型。 我認為Eloquent應該能夠以不同的方式管理它,而無需提出兩個請求。
您不必在該查詢上使用user_id
=> $ uid。 它是根據已經存在的關系注入的。 您可以將其重寫為:
$token = \App\User::where('id', $uid)->firstOrFail()->token()->updateOrCreate(['type' => $type], [
'auth' => $auth_token,
'refresh' => $refresh_token,
'type' => $type
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.