Как обратится к связанным записям?

Все вопросы/проблемы по установке и использовании.
Ответить
imamverdiyeveldar
Сообщения: 345
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Как обратится к связанным записям?

Сообщение imamverdiyeveldar »

Добрый день друзья.
Имеется сущность приходы А , имеется другая сущность Склад Б

В сущности А, есть поля:
поле 1 сущность (поставщики)
Поле 2 связанные записи (сущность Б)
Поле 3 Сумма прихода.

В Сущности Б, есть поля (товар , кол-во, цена (все это заполняется "на месте" как надо.))

Добавляю приход, выбираю поставщика, добавляю связанные записи ОК.
Проблемы:
1) как автоматом в связанную запись поставить поставщика из текущей сущности
2) как в сущности А, вывести сумму накладной, если бы было вложенной сущностью ок, но сумму надо подсчитать из связанной сущности. в phpmyadmin покопался, related посмотрел но толком не понял как воспользоваться.
Спасибо.
Аватара пользователя
SalahievFR
Сообщения: 273
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как обратится к связанным записям?

Сообщение SalahievFR »

Через автоматизацию вроде можно изменить или внести записи в поля связанной сущности.
alexinc
Сообщения: 391
Зарегистрирован: 03 мар 2022, 21:40
Имя: Alex
Откуда: Россия
Контактная информация:

Re: Как обратится к связанным записям?

Сообщение alexinc »

Работа со связанной сущностью идет через специальную таблицу что-то типа app_32_34 (где номера это номера сущностей, в внутри таблицы - строки связей)- где описываются связи сущностей. Поищите в форуме, обсуждали данный момент с nruslan2.
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 726
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Как обратится к связанным записям?

Сообщение Fait »

alexinc писал(а): 07 апр 2023, 16:53 Работа со связанной сущностью идет через специальную таблицу что-то типа app_32_34 (где номера это номера сущностей, в внутри таблицы - строки связей)- где описываются связи сущностей. Поищите в форуме, обсуждали данный момент с nruslan2.
Таблицы app_related_items_77_88 - это и есть таблицы со связями.
В них есть entity_77_items_id и entity_88_items_id - это id записей сущностей.
То есть каждая строчка и есть связь записи одной сущности с записью другой сущности.
Сначала через один запрос находим id нужных нам записей, потом в следующем запросе находим нужные нам записи по этим id.

Как-то так...

Я в своих кодах постоянно работаю со связанными записями, прекрасно всё получается.
Аватара пользователя
SalahievFR
Сообщения: 273
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как обратится к связанным записям?

Сообщение SalahievFR »

Fait писал(а): 13 апр 2023, 20:56
alexinc писал(а): 07 апр 2023, 16:53 Работа со связанной сущностью идет через специальную таблицу что-то типа app_32_34 (где номера это номера сущностей, в внутри таблицы - строки связей)- где описываются связи сущностей. Поищите в форуме, обсуждали данный момент с nruslan2.
Таблицы app_related_items_77_88 - это и есть таблицы со связями.
В них есть entity_77_items_id и entity_88_items_id - это id записей сущностей.
То есть каждая строчка и есть связь записи одной сущности с записью другой сущности.
Сначала через один запрос находим id нужных нам записей, потом в следующем запросе находим нужные нам записи по этим id.

Как-то так...

Я в своих кодах постоянно работаю со связанными записями, прекрасно всё получается.
Пример кода можете показать? Пожалуйста)
tehnos
Сообщения: 127
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: Как обратится к связанным записям?

Сообщение tehnos »

А - номер сущности А
Б - номер сущности Б
XX - номер целевого поля с поставщиком в сущности Б
YY - номер исходного поля с поставщиком в сущности А
ZZ - номер поля с суммой товара в сущности Б
SZZ - номер поля "сумма прихода" в сущности А

Код: Выделить всё

// выбираем id записей сущности Б, связанные с текущей записью сущности А
$var = db_query("SELECT `entity_Б_items_id` FROM `app_related_items_Б_А` WHERE `entity_А_items_id` = [id]");

// записываем поставщика во все записи сущности Б, связанные с сущностью А
while($var_arr = mysqli_fetch_assoc($var)) {
db_query("UPDATE `app_entity_Б` SET `field_XX` = [YY] WHERE `id` = {$var_arr['entity_Б_items_id']}");
}

// суммируем стоимость товара
$sum = db_query("SELECT SUM(`filed_ZZ`) FROM `app_entity_Б` WHERE `id` = {$var_arr['entity_Б_items_id']}");
$sum_arr = mysqli_fetch_assoc($sum);

// записываем сумму в поле в сущности А
db_query("UPDATE `app_entity_А` SET `field_SZZ` = {$sum_arr['SUM(`filed_ZZ`)']} WHERE `id` = [id]");
Ответить