Вот моя проблема: у меня есть таблица в базе данных sqlserver следующим образом:
Product (
id int identity,
reference varchar(12),
name varchar(40)
)
На веб-странице веб-приложения laravel я получил форму с именем только в качестве поля и кнопкой отправки. ,На стороне БД я создал триггер (вместо вставки), который обновляет ссылку на строку на основе сгенерированного идентификатора. Пример:
RGX0000123
Где 123 - сгенерированный идентификатор, а RGX генерируется случайным образом.
Поток следует шаблону публикации / перенаправления / получения. После отправки я хочу перенаправить на страницу, где в URL отображается ссылка, а не идентификатор.
В контроллере laravel я сохраняю свой объект с помощью Eloquent и перенаправляю на следующую страницу:
$product->save();
return redirect()->route('next_page', ['reference' => $product->reference]);
Моя проблема в том, что я могу получить идентификатор после сохранения, но не ссылку. Я не знаю, как работает Eloquent, но с Hibernate (JAVA) такое можно решить с помощью session.flush () для синхронизации объекта с данными из базы данных.
Быстрое и грязное исправление с использованием
$product= Product::find($product->id);
Есть ли более чистый способ справиться с этим?