@flafy4

Как реализовать «теги» в laravel?

Всем доброго времени суток. Как реализовать систему тегов к посту? Как я понял, структура таблиц должна получится такая: посты(записи), теги и список постов и тегов вида - post_id | tag_id.

Получается что на странице создания записи пользователь в строке вводит теги через запятую, потом эта строка отправляется в контроллер поста и там с помощью explode(',', $str) разбивается на отдельные теги, точней на массив. Но как уже из контроллера сделать проверку на наличие таких же тегов в базе, получить их id, и id новых после того как добавил их(это по правилам делается соответственно в котроллере тегов), и потом записать в таблицу постов и тегов (post_id | tag_id).

P.S. Я не прошу код, я прошу хотя бы небольшой мануал какие функции использовать и в какую сторону отталкиваться. За ранее спасибо.
  • Вопрос задан
  • 2104 просмотра
Пригласить эксперта
Ответы на вопрос 5
@alvery
Backend Developer
Ответ на ваш вопрос находится в базовом курсе laracasts fundamentals. Все коротко и по делу:
Many to Many Relations (With Tags)
Ответ написан
Комментировать
coderisimo
@coderisimo
пользователь в строке вводит теги через запятую
а это не слишком примитивно?
можно же сделать красивее на фронт-энде. Например использовать мультиселект - www.w3schools.com/tags/tryit.asp?filename=tryhtml_... (хотя есть и покрасивее решения. например, смотрите с 17-й секунды https://dl.dropboxusercontent.com/u/19954007/work/... . я это сам наяваял, значит и вы сможете ))) )
В случае с select multiple вам не надо будет разбирать строку. Вы просто получите массив с ID тэгов и сможете работать с этим массивом как будет угодно.
Ответ написан
Комментировать
Tesla
@Tesla
Сделайте как на тостере, select2+ajax в помощь. Выбранные теги складывайте в <input type="hidden" name="tags[]">, так при передаче формы вы получите массив, с которым будет очень просто работать на бэкенде.
Ответ написан
Комментировать
@2vtlk
Умеете пользоваться composer? Вот готовое решение https://github.com/rtconner/laravel-tagging
Ответ написан
Комментировать
Alex_Wells
@Alex_Wells
PHP/Kotlin
Не важно то, как пользователь отправляет тэги. Важно то, как вы их обрабатываете. Все делается предельно просто:
получаете массив тэгов и вешаете их к нужной модели. ВСЕ! Ларька сама проверит, что нужно сделать и сделает.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы