Как получить возможные значения столбца типа SET
Доброго времени суток! Создал объект по инструкции Ильи Уткина тут. Все работает отлично, НО у меня в таблице есть столбец типа SET (на подобии селекта), знает ли кто способ вывести возможные значения этого столбца. Знаю что в SQL можно вывести через SHOW COLUMN, а как через xPDO это сделать?
P.S. В столбце возможны значения: 'Петя', 'Вася', 'Игорь'. Нужен метод который вернет массив этих значений.
P.S. В столбце возможны значения: 'Петя', 'Вася', 'Игорь'. Нужен метод который вернет массив этих значений.
Комментарии: 19
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Определить все возможные значения для a SET столбец, использовать SHOW COLUMNS FROM tbl_name LIKE set_col и синтаксический анализ SET определение в Type столбец вывода.
Также по-идее должен работать обычный SELECT.
О типе SET
components/objectname/model/objectname/objectname.mysql.schema.xml
Ведь модель-то уже описана.
Если это функция часть класса, то тогда И ещё используйте подготовленные запросы или фильтруйте данные передаваемые в SQL.
Можете привести структуру таблицы, часть данных и для чего вы будете использовать данные из колонки типа SET, чтобы можно было с чем-то работать, а то это мысли в пустоту.
Если хотите можете направить всё через контакты в профиле.
Хочу использовать SET для формы где будет input select (как раз сюда и будет помещаться массив данных). Чтобы при внесении новых пунктов в SET это автоматом подтягивалось в форму.
Для примера: в SET находится список услуг. При добавлении новой услуги, она появляется в форме, в этом выпадающем списке.
А чего так сложно? Почему бы не сделать всё обычным полем (longtext) и хранить данные в json или сделать отдельную таблицу с услугами (id,title,price и т.д.).
Структуру таблицы, пожалуйста, приведите.
так и не заработал, ругаясь: fetch undefined
$column — название колонки для получения.
$sortdir — Направление сортировки у значений
$query — фильтр для поиска среди значений
$limit — кол-во значений для вывода
$offset — сколько позиций пропустить для вывода
Делаю через консоль, кроме этого больше ничего не пишу, я видимо что-то не понимаю?!
Я хренею, как можно было не найти через xPDO способы для получения значений у колонки, но при этом найти этот вид колонок для БД.
Друг, для указания массива значений возможных ты выбрал самый %:% способ. А что будет, если потребуется добавить еще один вариант услуги? Ну или банально заказчик потребует сделать все с заглавной буквы?
Вид колонок ENUM автоматически является индексом, соответственно для поиска по БД, эт хорошо. Да и если анализировать таблицу(PROCEDURE ANALYSE()), он всегда советует использовать ENUM.
Насчет массива, так ведь в этом и плюс, добавляешь в БД новый тип услуги и он автоматом подтягивается (возможно я конечно мыслю через Пифогора, но вроде удобно).Единственное schema нужно перегенерировать.