Страница 1 из 2

update_by_id

Добавлено: 02 ноя 2024, 13:44
imamverdiyeveldar
Добрый день, вопрос сразу к разработчику, вот есть:


$entity_id = 21;
$item_id = [id];
prepare data to update
$data = [
'field_157' => 38,
'created_by' => 20
];
items::update_by_id($entity_id,$item_id,$data);

Можно ли сделать такое же, только update by PARENT_ITEM_ID

Для чего нужно:
Есть 2 вложенные сущности А и Б, когда в сущности А меняешь поле , то в сущности Б должно меняться определенное поле. (db_query("update app_entity_28 set field_277='100' where id={$item_id}"); - этот вариант НЕ ПОДХОДИТ. он как бы меняет значения полей, но правило отправки СМС не срабатывает. Если вручную отредактировать то срабатывает.)

Поэтому нужно update_by_parent_item_id тогда сработает.

Re: update_by_id

Добавлено: 02 ноя 2024, 17:03
Fait
Для чего эта функция, не очень понятно...
Указывайте parent_item_id в запросе, в чём проблема?
И да, правила отправки смс отработают только при использовании функции items::update_by_id($entity_id,$item_id,$data)

Если вам нужно обновить по parent_item_id, запрашивайте сначала список всех записей с нужным parent_item_id, и потом в цикле обновляйте их упомянутой выше функцией.

Лично я в изобретении новой функции смысла не вижу.
Вам нужно научиться пользоваться имеющейся.

Re: update_by_id

Добавлено: 02 ноя 2024, 18:51
imamverdiyeveldar
Fait писал(а): 02 ноя 2024, 17:03 Для чего эта функция, не очень понятно...
Указывайте parent_item_id в запросе, в чём проблема?
И да, правила отправки смс отработают только при использовании функции items::update_by_id($entity_id,$item_id,$data)

Если вам нужно обновить по parent_item_id, запрашивайте сначала список всех записей с нужным parent_item_id, и потом в цикле обновляйте их упомянутой выше функцией.

Лично я в изобретении новой функции смысла не вижу.
Вам нужно научиться пользоваться имеющейся.
Ну вот представьте себе:

$entity_id = 29; (сущность Б)
$parent_item_id = [parent_item_id]; (родитель тут. Понятное дело что и родитель там)
prepare data to update
$data = [
'field_537' => 38, (38 значение "Да" при котором срабатывает правило отправки)
];
items::update_by_parent_id($entity_id,$parent_item_id,$data);

Нужно для чего, обьясняю на конкретном примере.
Есть сущность , группа. (#, Урок, учитель)
Есть под сущности:
Ученики (А) (имя,телефон, дата урока, номер урока)
Сами уроки (Б) (дата урока, номер урока, и т.д.)
Суть в чем создается группа, добавляются ученики, добавляются уроки (обычно 8-10 уроков в группе)
В сущности уроки выбирается урок,назначается дата. Должна пойти смска всем ученикам:
Дорогой Василий!
16.12.2024 у тебя урок такой то.
Я смог реализовать это именение/обновление записей при помощи api которое к стати перестало работат через какое то время (проблема на сторонее хостинга скорее). В любом случае выглядит "противно" когда пользуешься апи в рамках одного и того же приложения.
Вот если бы была функция как в начале сообщения было бы круто.

Re: update_by_id

Добавлено: 02 ноя 2024, 19:38
imamverdiyeveldar
Fait писал(а): 02 ноя 2024, 17:03 Если вам нужно обновить по parent_item_id, запрашивайте сначала список всех записей с нужным parent_item_id, и потом в цикле обновляйте их упомянутой выше функцией.
Можете подробнее описать данный метод ?

Re: update_by_id

Добавлено: 02 ноя 2024, 20:43
Fait
imamverdiyeveldar писал(а): 02 ноя 2024, 19:38 Можете подробнее описать данный метод ?
Да, для этого напишите пожалуйста ID сущности Занятия (родительская).

field_537 - это поле в родительской сущности или в учениках? Просто, если оно в родительской, то каким образом сработает правило отправки на всех учеников?
Насколько я помню, правило отправки ученику сработает только при изменении поля в сущности Ученики.

Каким образом отправляется сообщение?
Через какой сервис?

Re: update_by_id

Добавлено: 02 ноя 2024, 21:25
imamverdiyeveldar
Fait писал(а): 02 ноя 2024, 20:43
imamverdiyeveldar писал(а): 02 ноя 2024, 19:38 Можете подробнее описать данный метод ?
Да, для этого напишите пожалуйста ID сущности Занятия (родительская).

field_537 - это поле в родительской сущности или в учениках? Просто, если оно в родительской, то каким образом сработает правило отправки на всех учеников?
Насколько я помню, правило отправки ученику сработает только при изменении поля в сущности Ученики.

Каким образом отправляется сообщение?
Через какой сервис?
İd родителя 29
Поле 537 (список) находится в подсущности ученики
Сервис wapico отправляется с вотсапа организации на вотсап ученикам.

Re: update_by_id

Добавлено: 02 ноя 2024, 22:17
Fait
Так, хорошо.
Тогда ID сущности Ученики ещё нужно конечно же.
Я думал, это как раз и есть 29.

А вообще, я рекомендую сделать код, который будет отправлять сообщения мимо стандартного функционала, так надёжнее...

Да и вообще, зачем вам именно wapico?
Есть более надёжный и дешёвый сервис wappi.

Re: update_by_id

Добавлено: 02 ноя 2024, 22:34
imamverdiyeveldar
Fait писал(а): 02 ноя 2024, 22:17 Так, хорошо.
Тогда ID сущности Ученики ещё нужно конечно же.
Я думал, это как раз и есть 29.
29 группы
-32 ученики
-33 уроки

Re: update_by_id

Добавлено: 02 ноя 2024, 22:36
Fait
Вот ваш код:

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

$item_id = [id];
$check_st = db_query('select * from app_entity_32 where parent_item_id='.$item_id);
foreach ($check_st as $key => $value) {
  items::update_by_id(32, $value['id'], [ 'field_537' => 38 ]);
}
Если вы всё написали здесь правильно, то сработает как надо.

Re: update_by_id

Добавлено: 02 ноя 2024, 22:39
Fait
Интересно, что у вас Уроки - это подсущность.
Так нормально всё функционирует?

Просто я делал пару подобных систем и не встречал такую структуру ещё.