@alt22

Как в Laravel получить id записи ДО добавления?

Хочу добавлять id в slug, для уникальности, так как slug формируется из заголовка, и может уже встречаться. Как лучше реализовать? Laravel 5.5
  • Вопрос задан
  • 972 просмотра
Решения вопроса 2
solotony
@solotony
покоряю пик Балмера
я проверяю новый slug перед сохранением на уникальность. если неуникальный - добавляю time().rand()
Ответ написан
Комментировать
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel
$table= \DB::select("show table status like '" . НАИМЕНОВАНИЕ_ТАБЛИЦЫ . "'");
$id = $table[0]->Auto_increment;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Astatroth
@Astatroth
Я тут случайно
А проверить валидатором на уникальность никак? Это же проще, чем городить костыли.
Ответ написан
@Arik
я делаю метод url()/getUrl(), который вернет "{$this->slug}-{$this->id}". хранить смысл в БД полный slug?
Ответ написан
@alt22 Автор вопроса
В общем нашёл такое решение:
function getUniqueSlug($model, $slug)
    {
        if ($count = $model::where('slug', 'like', "$slug%")->count()) {
            $slug = str_finish($slug, "-$count");
        }
        return $slug;
    }

Без id, но так тоже неплохо) Слаг будет уникальным.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы