Size: a a a

2020 October 20

JM

Johnny Maynne in OctoberCMS
Всем привет. Хочу написать небольшой сео плагин с полями - тайтл, дескрипшн и сео текст. Я вижу такие варианты:
1. Создавать для сео поля в каждой модели - тут тоже два варианта делать отдельные поля или все запихнуть в одну ячейку как json
2. Создать отдельную модель и настроить полиморфические отношения с другими моделями. И в этой модели уже создать все поля

Вопрос - сильно ли будет заметна разница в производительности между двумя этими способами?
источник

М

Миша in OctoberCMS
я бы лучше сделал в разных полях, мало ли потом выборка поиск. А то в json копаться не ахти
источник

PL

Pavel Lautsevich 🇧🇾... in OctoberCMS
Переслано от Pavel Lautsevich 🇧🇾...
Всем привет.

Нам в Shopaholic, на постоянной основе нужен сильный верстальщик со знанием JS  и пониманием принципов a11y. Если ещё и в Tailwind умеете, будет вообще отлично. Пишите в личку.
источник

М

Миша in OctoberCMS
Pavel Lautsevich 🇧🇾
Переслано от Pavel Lautsevich 🇧🇾
Всем привет.

Нам в Shopaholic, на постоянной основе нужен сильный верстальщик со знанием JS  и пониманием принципов a11y. Если ещё и в Tailwind умеете, будет вообще отлично. Пишите в личку.
прочитал с сильным знанием АУЕ 😂
источник

PL

Pavel Lautsevich 🇧🇾... in OctoberCMS
Оу-е! 🤘
источник

JM

Johnny Maynne in OctoberCMS
Миша
я бы лучше сделал в разных полях, мало ли потом выборка поиск. А то в json копаться не ахти
а по поводу разных моделей?
источник

JM

Johnny Maynne in OctoberCMS
делать для каждой или создать плагин и связать его со всеми моделями, где нужны эти поля
источник

v

vladimir in OctoberCMS
Миша
я бы лучше сделал в разных полях, мало ли потом выборка поиск. А то в json копаться не ахти
Но бд уж позволяют искать по json без особых проблем ) sqlite3 вообще это весьма быстро делает )
источник

М

Миша in OctoberCMS
vladimir
Но бд уж позволяют искать по json без особых проблем ) sqlite3 вообще это весьма быстро делает )
согласен, но опять же то же обновление не ахти
источник

v

vladimir in OctoberCMS
Johnny Maynne
Всем привет. Хочу написать небольшой сео плагин с полями - тайтл, дескрипшн и сео текст. Я вижу такие варианты:
1. Создавать для сео поля в каждой модели - тут тоже два варианта делать отдельные поля или все запихнуть в одну ячейку как json
2. Создать отдельную модель и настроить полиморфические отношения с другими моделями. И в этой модели уже создать все поля

Вопрос - сильно ли будет заметна разница в производительности между двумя этими способами?
С точки зрения расширяемости и гибкости больше подходит полиморфная связь и инкапсуляция логики в сео плагине.

Для интеграции других плагинов с сео плагином достаточно их сделать наследниками и реализовать универсальный трейт или behavior для моделей. В случае с октябрем лучше behavior, позволит прям жестко не зависеть от сео плагина.
источник

JM

Johnny Maynne in OctoberCMS
а сточки зрения производительности?)
источник

v

vladimir in OctoberCMS
Миша
согласен, но опять же то же обновление не ахти
Вообще без проблем. С учетом, что json свободный, обновить или мигрировать уже существующие объекты достаточно легко)
источник

v

vladimir in OctoberCMS
Другой вопрос, зачем оно надо )
источник

v

vladimir in OctoberCMS
Johnny Maynne
а сточки зрения производительности?)
С учетом нормализации бд отдельная таблица под сео - норм.

С учетом производительности, конечно лучше разные столбцы под каждый тег в рамках модели, чтобы избежать дополнительных запросов или джоинов.

Однако выборка по первичному ключу не то чтобы сложная, что подводит на мысль, что экономия почти на спичках. Все зависит от конкретных задач, и что должен делать сео плагин. Тупо выводить инфу для модели или нечто большее )
источник

JM

Johnny Maynne in OctoberCMS
просто у меня будет база с сео и там будет сео для всех моделей (тысячи записей) и по этой таблице надо делать выборку
источник

JM

Johnny Maynne in OctoberCMS
vladimir
С учетом нормализации бд отдельная таблица под сео - норм.

С учетом производительности, конечно лучше разные столбцы под каждый тег в рамках модели, чтобы избежать дополнительных запросов или джоинов.

Однако выборка по первичному ключу не то чтобы сложная, что подводит на мысль, что экономия почти на спичках. Все зависит от конкретных задач, и что должен делать сео плагин. Тупо выводить инфу для модели или нечто большее )
+++
источник

A

Axenia in OctoberCMS
johnnymaynne (88.37) увеличил карму LeMaX10 (2359.91)
источник

v

vladimir in OctoberCMS
Johnny Maynne
просто у меня будет база с сео и там будет сео для всех моделей (тысячи записей) и по этой таблице надо делать выборку
Выборку ведь только по морфированной связи? Можешь глянуть на Rainlab.Translate, он для переводимых атрибутов модели примерно так же работает.
источник

JM

Johnny Maynne in OctoberCMS
vladimir
Выборку ведь только по морфированной связи? Можешь глянуть на Rainlab.Translate, он для переводимых атрибутов модели примерно так же работает.
да,только выборка. Спасибо, посмотрю)
источник

М

Миша in OctoberCMS
такой вопрос, как при редиректе передать какие то данные для вывода?
источник