как сохранять теги?
как сохранять теги?
Автор поста вводит теги через запятую. Нужно сохранить введеные значени под раздельными записями. Тоесть человек ввел: тег1, тег2 а в базу пишутся две записи
Re: как сохранять теги?
Я понимаю что нужно разделить, но после того ка у меня будет массив названий как с ним быть. Как сохранять каждый тег. Был бы очень признателен если набросаете небольшую абстрактную модель. Ссылка на рецет вообще будет очень полезна. Спасибо
Re: как сохранять теги?
Основная проблема всех начинающих программистов - живете посредством рецептов.
Создаем запрос в гугл();
while (код не работает()) {
Открыть ссылку в гугле();
Вставить код();
}
Более опытные программисты читают книги, мануалы, статьи. Пишут решения сами или используют готовые библиотеки, заранее разобравшись в устройстве работы выбранных.
Чего вы добьетесь и что конкретно поймете, если мы сразу кинем вам готовый код?
По факту: у вас есть массив тегов. Вам нужно через foreach перебрать каждый из них и создать запрос в базу данных. Если у вас есть модель для таблицы тегов - необходимо при каждом переборе создавать новую модель и отправлять на сохранение.
Так-же можно генерировать один запрос и выполнять его. Запрос стиля INSERT INTO ... VALUES(...), (...), (...) http://phpclub.ru/mysql/doc/insert.html
Создаем запрос в гугл();
while (код не работает()) {
Открыть ссылку в гугле();
Вставить код();
}
Более опытные программисты читают книги, мануалы, статьи. Пишут решения сами или используют готовые библиотеки, заранее разобравшись в устройстве работы выбранных.
Чего вы добьетесь и что конкретно поймете, если мы сразу кинем вам готовый код?
По факту: у вас есть массив тегов. Вам нужно через foreach перебрать каждый из них и создать запрос в базу данных. Если у вас есть модель для таблицы тегов - необходимо при каждом переборе создавать новую модель и отправлять на сохранение.
Так-же можно генерировать один запрос и выполнять его. Запрос стиля INSERT INTO ... VALUES(...), (...), (...) http://phpclub.ru/mysql/doc/insert.html
- SpiritAbsolute
- Сообщения: 187
- Зарегистрирован: 2013.12.29, 18:20
- Откуда: Калининград
- Контактная информация:
Re: как сохранять теги?
Код: Выделить всё
$str='tag1, tag2, tag3, tag4';
$array=explode(',', $str);
foreach($array as $value){
$this->dbh->exec("
INSERT INTO `tags`
(`id`, `id_post`, `tags`)
VALUES
('null', '{$id_post}', '{$value}')
");
}
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: как сохранять теги?
Именно так. Единственное, если для тега есть модель, можно через неё.
Нравится Yii? Давайте сделаем его лучше!.
Re: как сохранять теги?
Чтобы не в цикле в yii2 есть batchInsert.
Вообще то теги - это такая штука, которые сквозные для всех статей, так что нельзя создавать всегда новые, ведь тег мог уже раньше быть в базе.
Вообще то теги - это такая штука, которые сквозные для всех статей, так что нельзя создавать всегда новые, ведь тег мог уже раньше быть в базе.
-
- Сообщения: 54
- Зарегистрирован: 2010.06.12, 22:18
- Откуда: Набережные Челны
- Контактная информация:
Re: как сохранять теги?
есть пример тегов из 1-го yii, https://github.com/yiisoft/yii/blob/mas ... ls/Tag.php можно сделать по аналогии
Вот расширение https://github.com/2amigos/yii2-taggable-behavior
Вот расширение https://github.com/2amigos/yii2-taggable-behavior
Последний раз редактировалось ram0973 2014.07.14, 15:29, всего редактировалось 2 раза.
Re: как сохранять теги?
http://habrahabr.ru/post/226103/ в этой статье есть пример с тегами
Re: как сохранять теги?
всем спасибо, даже тебе Блум. Что поделаешь вначале мы начинающие такие как ты говоришь. Этот случай не исключение, пригодился вариант который был использован в первом фреймворке(отдельно спасио ram0973 ) взял две функции немного подогнал.
Наверно нагло будет тут искать решение другой задачи. Но сейчас ищу удобный виджет для добавления тегов с поддержкой автокомлете.
Наверно нагло будет тут искать решение другой задачи. Но сейчас ищу удобный виджет для добавления тегов с поддержкой автокомлете.
Re: как сохранять теги?
select2 http://ivaynberg.github.io/select2/
Тебе нужно то место, где заголовок Tagging Support
Тебе нужно то место, где заголовок Tagging Support
Re: как сохранять теги?
Можно сразу виджет http://demos.krajee.com/widget-details/select2
Re: как сохранять теги?
Спасибо, виджет попробовал. Не совсем нравится. Щас попробую адаптировать js к jui autocomplete. Спасибо большое.
-
- Сообщения: 957
- Зарегистрирован: 2014.05.31, 20:50
- Откуда: Санкт-Петербург
- Контактная информация:
Re: как сохранять теги?
Можно также попробовать виджет Selectize.js.
-
- Сообщения: 54
- Зарегистрирован: 2010.06.12, 22:18
- Откуда: Набережные Челны
- Контактная информация:
Re: как сохранять теги?
Я тоже его пробовал, всё отлично работаетmickgeek писал(а):Можно также попробовать виджет Selectize.js.