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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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