Я борюсь со странной проблемой, не знаю, следует ли считать ее ошибкой.
У меня есть этот код в процессе обновления:
// 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