Laravel после сохранения модели необходимо обновить ее, чтобы использовать отношения.Php

Кемеровские программисты php общаются здесь
Anonymous
Laravel после сохранения модели необходимо обновить ее, чтобы использовать отношения.

Сообщение Anonymous »

Я борюсь со странной проблемой, не знаю, следует ли считать ее ошибкой.

У меня есть этот код в процессе обновления:

// initial $invoice->user_updated_id = 1

$invoice = $this->find($id); // Invoice::findOrFail($id)
$userId = Auth::user()->id; // $userId = 2
$request = array_merge($request, ['user_updated_id' => $userId]);
$invoice->fill($request);
$invoice->save();

Log::info('Attribute: ' . $invoice->user_updated_id);
Log::info('Relation: ' . $invoice->userUpdated->id); // Basic relationship to User model.


Вывод:

local.INFO: Attribute: 2
local.INFO: Relation: 1


Почему после сохранения модели отношения по-прежнему получают старую модель?

Если я перепишу код с помощью :

// initial $invoice->user_updated_id = 1

$invoice = $this->find($id);
$userId = Auth::user()->id; // $userId = 2
$request = array_merge($request, ['user_updated_id' => $userId]);
$invoice->fill($request);
$invoice->save();
$invoice->refresh();

Log::info('Attribute: ' . $invoice->user_updated_id);
Log::info('Relation: ' . $invoice->userUpdated->id); // Basic relationship to User model.


Вывод:

local.INFO: Attribute: 2
local.INFO: Relation: 2


Подробнее здесь: https://stackoverflow.com/questions/618 ... ationships

Вернуться в «Php»