Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Привет, хочу для практики сделать проект такой, каталог книг, то есть будет две таблице рубрики и названия книги с ее описаний, тут я понял просто сделать связь таблиц и все.
И тут мне в голову пришло что бы в адресной строке было такое
mysite.loc/category/nameLibrary (Категория/названия книги)
Подскажите как можно мне автоматичиски хранить названия статей латиницой для url, и если есть такой url в БД то добавлять какой то символ в конец
Не в сети
https://laravel.com/docs/5.5/helpers#method-str-slug
а поле сделай уникальным и проверяй
Не в сети
Подскажите как можно мне автоматичиски хранить названия статей латиницой для url, и если есть такой url в БД
Это называется слаги (slugs). Если ты хочешь автоматически конвертировать названия книг на русском в латиницу (транслитерация), можешь использовать мой пакет.
то добавлять какой то символ в конец
Вообще не понятно о чем идет речь, распиши пожалуйста подробнее.
Не в сети
да что уж там, тогда и мой пакет
https://laravel.ru/forum/viewtopic.php?pid=14965#p14965
в ларке
use Illuminate\Support\Str;
$name = Str::slug($articles->text);
))
Изменено sam (21.12.2017 19:03:15)
Не в сети
https://laravel.com/docs/5.5/helpers#method-str-slugа поле сделай уникальным и проверяй
Там есть нюансы в плане SEO, т.к. Google и Яндекс используют разные правила для транслитерации, а str_slug - свои. Плюс, в таких пакетах обычно есть удобные инструменты для работы со слагами. Если SEO и инструменты не нужны, тогда да, str_slug - это самый разумный выбор.
Не в сети
Я делаю так - два поля, одно название статьи, другое псевдоним (alias). Есть плагин транслитерации, взять можно тут - http://masscode.ru/index.php/k2/item/28-litranslit, вот он и переводит кириллицу в латиницу, а по кнопке все отправляется в базу. Для уникальности можно перед отправкой добавлять рандомную строку или дату (время) добавления. Только нужно в базу добавить поле alias.
Не в сети
Ну а совсем просто использовать готовый пакет - https://github.com/cviebrock/eloquent-sluggable
Не в сети