Хитрый запрос надо сварганить да так, чтобы результат включал подмассив значений из связанной таблицы.
Возможно ли такое?
Бэк для приложения со след-щими сущностями:
Склад Storage (id, article, ...)
Наличие Stock (id, article, position, ...)
Связь: один Storage ко многим Stock
Пользователи User (id, ...)
Закладки bookmarks (user_id, article)
Связь: много User ко многим Storage через bookmarks
Нужно выбрать для пользователя все закладки. Это просто
Код: Выделить всё
return $this->hasMany(Storage::className(), ['article' => 'article'])->viaTable('favorite', ['user_id' => 'id']);
Мне клиенту нужно отправить все закладки + позиции для каждой, причем товар может не быть в наличии, либо быть в наличии как писал выше на 2 и более местах.
То есть нужно вернуть что-то типа:
Код: Выделить всё
{
id:1, // из таблицы Storage
name: 'Товар 1', // из таблицы Storage
position:['полка 1'], // из таблицы Stock
},
{
id:2,
name: 'Товар 2',
position: ['полка 2', 'полка 3'],
},
{
id:3,
name: 'Товар 3',
position: [],
},
Как собрать такой запрос, да так чтобы вернуть клиенту с подмассивом позиций, да еще и с постраничной навигацией, я так понимаю в ActiveDataProvider все это ?