Как объединить две модели в одном запросе в REST?
Как объединить две модели в одном запросе в REST?
Есть две таблицы:
table1
table2
между ними есть связь много ко многим
Как сделать, чтобы при обращении к table1 выводить нужные поля из table1 и table2 применительно к rest?
table1
table2
между ними есть связь много ко многим
Как сделать, чтобы при обращении к table1 выводить нужные поля из table1 и table2 применительно к rest?
Re: Как объединить две модели в одном запросе в REST?
разобрался, но есть два нюанса:
1. при отправке $_POST запроса, приходится в адрес добавлять ?expand=table2
можно ли его запихнуть в тело запроса или заголовки?
2. возвращаются данные прописанные в fields второй модели, мне все не нужны, а только отдельные поля, как их отфильтровать?
1. при отправке $_POST запроса, приходится в адрес добавлять ?expand=table2
можно ли его запихнуть в тело запроса или заголовки?
2. возвращаются данные прописанные в fields второй модели, мне все не нужны, а только отдельные поля, как их отфильтровать?
Re: Как объединить две модели в одном запросе в REST?
1. Откуда отправляете?
2. Может использовать DTO?
2. Может использовать DTO?
Re: Как объединить две модели в одном запросе в REST?
1.что ты имеешь ввиду?
2. ты спрашиваешь?
2. ты спрашиваешь?
Re: Как объединить две модели в одном запросе в REST?
1. Ты же отправляешь POST запрос, откуда исходят эти запросы, что из себя представляет та сторона (приложение, SPA) ?
2. Ну как бы предлагаю попробовать этот метод формирования данных, чтоб не загружать модели лишним кодом и отдавать данные с желаемой архитектурой.
Re: Как объединить две модели в одном запросе в REST?
1. мобильное приложение
2. а какое отношение это имеет к моему вопросу?
2. а какое отношение это имеет к моему вопросу?
Re: Как объединить две модели в одном запросе в REST?
Зачем тебе городить в модели логику для выборки определенных полей. А если тебе понадобится еще дополнительные данные или производить определенные вычисления, то твоя модель будет заметно толще. А потом все это надо как то поддерживать в рабочем состоянии. Не проще создать доп класс, с полями которые тебе нужны, заполнять их в конструкторе из моделей и отдавать.
Re: Как объединить две модели в одном запросе в REST?
т.е. по моему вопросу ответить нечего
Re: Как объединить две модели в одном запросе в REST?
т.е. по моему вопросу тебе нечего ответитьdarlov писал(а): ↑2017.12.06, 07:14Зачем тебе городить в модели логику для выборки определенных полей. А если тебе понадобится еще дополнительные данные или производить определенные вычисления, то твоя модель будет заметно толще. А потом все это надо как то поддерживать в рабочем состоянии. Не проще создать доп класс, с полями которые тебе нужны, заполнять их в конструкторе из моделей и отдавать.
Re: Как объединить две модели в одном запросе в REST?
Во второй модели если прописатьuser писал(а): ↑2017.12.06, 11:35т.е. по моему вопросу тебе нечего ответитьdarlov писал(а): ↑2017.12.06, 07:14Зачем тебе городить в модели логику для выборки определенных полей. А если тебе понадобится еще дополнительные данные или производить определенные вычисления, то твоя модель будет заметно толще. А потом все это надо как то поддерживать в рабочем состоянии. Не проще создать доп класс, с полями которые тебе нужны, заполнять их в конструкторе из моделей и отдавать.
Код: Выделить всё
public function fields()
{
$fields = parent::fields();
unset($fields['id']);
return $fields;
}
Re: Как объединить две модели в одном запросе в REST?
мне нужно чтобы при прямом обращении выбирать все, что задано в fields
а при обращении к первой фильтрованные данные
а при обращении к первой фильтрованные данные
Re: Как объединить две модели в одном запросе в REST?
Код: Выделить всё
public function fields()
{
$fields = parent::fields();
if(Yii::$app->controller->action->uniqueId == 'controller/action'){
unset($fields['id']);
}
return fields;
}