Страница 2 из 3
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 12:28
khokhlov.a
alexinc писал(а): 07 окт 2022, 12:21
alexinc писал(а): 07 окт 2022, 12:19
khokhlov.a писал(а): 07 окт 2022, 12:11
Не совсем понял как прописать условие, что бы создать взаимосвязь с предыдущим выбранным полем.
т.е. что бы в поле Город были только те города, которые соответствуют parent_item_id сущности Регион.
https://docs.rukovoditel.net.ru/index.php?p=78
Первое поле - Регион, Второе поле - Город (условие типа e.parent_item_id=[id]), третье поле Адрес (такое же условие).
Таки образом у вас при выборе региона появиться список городов, при выборе города появиться связный адрес.
Поскольку это просто выпадающий список с условиями, то у вас будет возможность выбирать несколько значений. Но будьте осторожны при выборе Нескольких городов и регионов. В таком случае придется изменить запрос.
С прописанным условием вида e.parent_item_id=[id] эффект тот же, что и с условием e.parent_item_id = [1926].
В дочернем поле в выборе все значения, пока не выбрано родительское значение.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 12:33
alexinc
khokhlov.a писал(а): 07 окт 2022, 12:22
Добавил условие parent_item_id=e.id в поле Город.
Регион выбирается, т.к. условия нет, поле Город пустое.
В консоли при отладке:
Код: Выделить всё
select e.* from app_entity_84 e where e.id>0 and (parent_item_id=e.id) order by e.id limit 0, 30
Если прописать условие так e.parent_item_id = [1926], указав id поля предшественника, то взаимосвязь работает, но проблема в том, что если не выбрать предшественника, то отображаются всевозможные значения для поля. Только после выбора предшественника, начинают фильтроваться записи в дочернем поле по условию.
А поле 1926 - это что? Город? Если отображаются все возможные значения, значит этот кусок работает не так [1926]>0 and (parent_item_id=[1926]). Нужно смотреть и думать над условием. В целом взаимсвязь работает.
PS - если с условиями лень разбираться - сделайте видимость полей только тогда, когда выбран регион. Если регион не пустой - появляется поле Город, если город не пустой - появляется Адрес... ну и т.д.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 12:38
khokhlov.a
alexinc писал(а): 07 окт 2022, 12:33
khokhlov.a писал(а): 07 окт 2022, 12:22
Добавил условие parent_item_id=e.id в поле Город.
Регион выбирается, т.к. условия нет, поле Город пустое.
В консоли при отладке:
Код: Выделить всё
select e.* from app_entity_84 e where e.id>0 and (parent_item_id=e.id) order by e.id limit 0, 30
Если прописать условие так e.parent_item_id = [1926], указав id поля предшественника, то взаимосвязь работает, но проблема в том, что если не выбрать предшественника, то отображаются всевозможные значения для поля. Только после выбора предшественника, начинают фильтроваться записи в дочернем поле по условию.
А поле 1926 - это что? Город? Если отображаются все возможные значения, значит этот кусок работает не так [1926]>0 and (parent_item_id=[1926]). Нужно смотреть и думать над условием. В целом взаимсвязь работает.
Да, город. Условие работает, но нужно как то скрыть дочерние значения если не выбрано родительское.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 12:39
alexinc
khokhlov.a писал(а): 07 окт 2022, 12:38
alexinc писал(а): 07 окт 2022, 12:33
khokhlov.a писал(а): 07 окт 2022, 12:22
Добавил условие parent_item_id=e.id в поле Город.
Регион выбирается, т.к. условия нет, поле Город пустое.
В консоли при отладке:
Код: Выделить всё
select e.* from app_entity_84 e where e.id>0 and (parent_item_id=e.id) order by e.id limit 0, 30
Если прописать условие так e.parent_item_id = [1926], указав id поля предшественника, то взаимосвязь работает, но проблема в том, что если не выбрать предшественника, то отображаются всевозможные значения для поля. Только после выбора предшественника, начинают фильтроваться записи в дочернем поле по условию.
А поле 1926 - это что? Город? Если отображаются все возможные значения, значит этот кусок работает не так [1926]>0 and (parent_item_id=[1926]). Нужно смотреть и думать над условием. В целом взаимсвязь работает.
Да, город. Условие работает, но нужно как то скрыть дочерние значения если не выбрано родительское.
сли с условиями лень разбираться - сделайте видимость полей только тогда, когда выбран регион. Если регион не пустой - появляется поле Город, если город не пустой - появляется Адрес... ну и т.д.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 12:43
khokhlov.a
alexinc писал(а): 07 окт 2022, 12:39
khokhlov.a писал(а): 07 окт 2022, 12:38
alexinc писал(а): 07 окт 2022, 12:33
А поле 1926 - это что? Город? Если отображаются все возможные значения, значит этот кусок работает не так [1926]>0 and (parent_item_id=[1926]). Нужно смотреть и думать над условием. В целом взаимсвязь работает.
Да, город. Условие работает, но нужно как то скрыть дочерние значения если не выбрано родительское.
сли с условиями лень разбираться - сделайте видимость полей только тогда, когда выбран регион. Если регион не пустой - появляется поле Город, если город не пустой - появляется Адрес... ну и т.д.
Хороший вариант, но в условиях отображения необходимо выбирать все возможные значения, а они могут динамически меняться. При добавлении городов и филиалов нужно будет прописывать и условия отображения.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 12:55
alexinc
khokhlov.a писал(а): 07 окт 2022, 12:43
alexinc писал(а): 07 окт 2022, 12:39
khokhlov.a писал(а): 07 окт 2022, 12:38
Да, город. Условие работает, но нужно как то скрыть дочерние значения если не выбрано родительское.
сли с условиями лень разбираться - сделайте видимость полей только тогда, когда выбран регион. Если регион не пустой - появляется поле Город, если город не пустой - появляется Адрес... ну и т.д.
Хороший вариант, но в условиях отображения необходимо выбирать все возможные значения, а они могут динамически меняться. При добавлении городов и филиалов нужно будет прописывать и условия отображения.
Тогда я не пойму вашей логики. У вас в начале была логика - Регион -> Город -> Филиал. При выборе Региона, нужно выбрать Город, после города Филиал. Многоуровневый список так и работает. Без выбора Верхнего уровня, не выбрать нижний. Единственная проблема - в многоуровневом списке нельзя выбирать два значения. Вам предложено два варианта как решить проблему в вашей логике. А сейчас получается что логика не та. И выборка не та. Ну тогда опишите всю задачу по условиям точно. Сколько вешать в граммах.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 12:58
khokhlov.a
alexinc писал(а): 07 окт 2022, 12:55
khokhlov.a писал(а): 07 окт 2022, 12:43
alexinc писал(а): 07 окт 2022, 12:39
сли с условиями лень разбираться - сделайте видимость полей только тогда, когда выбран регион. Если регион не пустой - появляется поле Город, если город не пустой - появляется Адрес... ну и т.д.
Хороший вариант, но в условиях отображения необходимо выбирать все возможные значения, а они могут динамически меняться. При добавлении городов и филиалов нужно будет прописывать и условия отображения.
Тогда я не пойму вашей логики. У вас в начале была логика - Регион -> Город -> Филиал. При выборе Региона, нужно выбрать Город, после города Филиал. Многоуровневый список так и работает. Без выбора Верхнего уровня, не выбрать нижний. Единственная проблема - в многоуровневом списке нельзя выбирать два значения. Вам предложено два варианта как решить проблему в вашей логике. А сейчас получается что логика не та. И выборка не та. Ну тогда опишите всю задачу по условиям точно. Сколько вешать в граммах.
В том то и проблема, что без выбора верхнего уровня можно таки выбрать нижний. Условия прописанные в поле не применяются и отображаются все возможные значения из сущности. Из-за этого появляется костыль в виде правил отображения полей. Из-за этого появляется необходимость править правила полей при каждом добавлении новых значений в сущностях для выбора в список.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 13:09
khokhlov.a
alexinc писал(а): 07 окт 2022, 12:55
khokhlov.a писал(а): 07 окт 2022, 12:43
alexinc писал(а): 07 окт 2022, 12:39
сли с условиями лень разбираться - сделайте видимость полей только тогда, когда выбран регион. Если регион не пустой - появляется поле Город, если город не пустой - появляется Адрес... ну и т.д.
Хороший вариант, но в условиях отображения необходимо выбирать все возможные значения, а они могут динамически меняться. При добавлении городов и филиалов нужно будет прописывать и условия отображения.
Тогда я не пойму вашей логики. У вас в начале была логика - Регион -> Город -> Филиал. При выборе Региона, нужно выбрать Город, после города Филиал. Многоуровневый список так и работает. Без выбора Верхнего уровня, не выбрать нижний. Единственная проблема - в многоуровневом списке нельзя выбирать два значения. Вам предложено два варианта как решить проблему в вашей логике. А сейчас получается что логика не та. И выборка не та. Ну тогда опишите всю задачу по условиям точно. Сколько вешать в граммах.
Так или иначе, настроил все по вашей схеме с правилами отображения. На текущий момент - это лучшее решение из возможны под наши задачи. Спасибо огромное! Сейчас буду разбираться с условиями для списка с несколькими значениями.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 13:17
khokhlov.a
При выборе нескольких значений в поле Филиал, происходит перезатирание данных в поле Адрес последним выбранным значением в поле Филиал.
Re: Многоуровневый список сущностей несколько значений поля
Добавлено: 07 окт 2022, 17:03
alexinc
khokhlov.a писал(а): 07 окт 2022, 12:58
alexinc писал(а): 07 окт 2022, 12:55
khokhlov.a писал(а): 07 окт 2022, 12:43
Хороший вариант, но в условиях отображения необходимо выбирать все возможные значения, а они могут динамически меняться. При добавлении городов и филиалов нужно будет прописывать и условия отображения.
Тогда я не пойму вашей логики. У вас в начале была логика - Регион -> Город -> Филиал. При выборе Региона, нужно выбрать Город, после города Филиал. Многоуровневый список так и работает. Без выбора Верхнего уровня, не выбрать нижний. Единственная проблема - в многоуровневом списке нельзя выбирать два значения. Вам предложено два варианта как решить проблему в вашей логике. А сейчас получается что логика не та. И выборка не та. Ну тогда опишите всю задачу по условиям точно. Сколько вешать в граммах.
В том то и проблема, что без выбора верхнего уровня можно таки выбрать нижний. Условия прописанные в поле не применяются и отображаются все возможные значения из сущности. Из-за этого появляется костыль в виде правил отображения полей. Из-за этого появляется необходимость править правила полей при каждом добавлении новых значений в сущностях для выбора в список.
При костыле при правилах отображения полей вы ставите - если поле не пустое - то показывать следующее. Запрос оставляете как есть. И все. Ничего не нужно более. То есть вы используете и запрос и отображение полей. Либо формировать запрос более точно, учитывая все условия.