Подскажите пожалуйста, как можно решить следующую задачу:
1. Есть сущность "Лабораторные исследования" (38)
2. Есть сущность "Полученные результаты" (39)
3. В сущности "Полученные результаты" создаются записи по крону из писем с вложениями полученных на почту.
4. Через автоматизацию по MySQL запросу устанавливается связь Исследований и Результатов, с помощью указанного в Исследовании номера. То есть берутся все записи в которых присутствует указанный в записи Исследования номер присутствующий в результатах и создается связь с таблицей Исследования. На этом этапе все нормально и открывая Исследование, мы видим таблицу с Результатами.
5. В каждом результате есть Вложение, файл pdf, он тоже берется из письма и успешно копируется в запись, доступен в ней при открытии этой записи.
Когда появляются результаты, клиенту отправляется смс с ссылкой на страницу (php скрипт), который через API берет из сущности 38 и показывает: Название исследования, дату (берет это он из сущности 38) и должен показывать ссылки на pdf с результатами (их может быть более чем 1, как правило 2-3 и более), которые нужно брать из связанных записей из сущности 39.
Вот код php-страницы, ссылка на которую отправляется клиенту. Но там показывает только Заголовки записей с результатами.
Код: Выделить всё
<?php
$i=$_GET['i'];
$params = array(
'key' => 'апиключ',
'username' => 'пользователь',
'password' => 'пароль',
'action' => 'select',
'entity_id' => 38, //ID сущности, из которой будут выбираться записи
'limit' => 0, //Если не указан, выбираются все строки
'select_fields' => '405,409,422,411', //ID полей, значения которых будут выбираться
'filters' => array(
'409'=> $i, //Фильтр по числовому полю (код исследования)
)
);
$ch = curl_init('https://адрес_сайта/api/rest.php');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
curl_close($ch);
if($result)
{
$result = json_decode($result,true);
//print_r($result);
}
?>
<html>
<body>
<table>
<tr>
<td>Код</td>
<td><?php print_r($result[data][0][409]); ?></td>
</tr>
<tr>
<td>Наименование исследования</td>
<td><?php print_r($result[data][0][405]); ?></td>
</tr>
<tr>
<td>Дата и время сдачи биоматериала</td>
<td><?php print_r($result[data][0][411]); ?></td>
</tr>
<tr>
<td>Результаты</td>
<td><?php print_r($result[data][0][422]); ?></td>
//(сейчас тут названия связанных записей, а нужно что бы были ссылки на файлы во вложении из этих связанных записей)
</tr>
</table>
</body>
</html>Все для того, что бы клиент, без авторизации, получал результаты через ссылку отправленную ему по смс.
Заранее благодарю и извиняюсь, если вопрос простой, но уже неделю голову ломаю как это сделать.
