Здесь в этой документации Laravel Inserting Related Model нет способа обновить текущую связанную модель. Посмотрите: Relation Between two ModelsКак обновить похожие модели в Laravel
private function UserToken($token,$expire,$user_id){
if($JetUserPass=JetUserPass::find($user_id)->token){
$JetT = new JetTokens(['id_token' =>$token,'expires_on'=>$expire]);
$JetUserPass2=JetUserPass::find($user_id);
$JetUserPass2->token()->save($JetT);//NOT WORKING
}else{
$JetT = new JetTokens(['id_token' =>$token,'expires_on'=>$expire]);
$JetUserPass=JetUserPass::find($user_id);
$JetUserPass->token()->save($JetT);
}
}
Possible Error: Integrity Violation ...
Здесь, если блок Он проверяет, что маркер есть для пользователя, если это правда, то это будет обновлять существующий, иначе он будет создавать новый. Я хочу обновить модель JetTokens от JetUserPass Model i.e Как обновить Связанную модель?
@mrun Это не сработает, правильно прочитайте документы. –
Похоже, вы ищете метод 'updateOrCreate() 'Eloquent'. Кроме того, попробуйте следовать правилам для именования: методы должны быть на камне ('userToken' не' UserToken'), и это хорошая идея, чтобы вернуть связанную модель для облегчения цепочки методов или просто использовать обновленную/вновь созданный экземпляр JetUserPass далее в приложении. –
@MartinBean здесь Я попытался решить проблему с помощью множества различных методов, отлично работает, но мой запрос заключается в том, как обновить модель с помощью соответствующей модели, например: «token принадлежит пользователю». Мы можем сохранить токен с помощью пользовательской модели, вызвав функцию '$ jetUserPass-> token()' token в пользовательской модели: 'public function token() { return $ this-> hasOne ('App \ JetTokens', 'jetuserinfo_id'); } ' этой функции save() работает нормально, но я хочу обновить существующую запись. :) – Puneet