@EVOSandru6

Как в Yii2 получить в dataProvider все товары всех заказов одним списком?

Добрый день.

Имеется ввиду - я покупатель, у меня есть заказы. В заказах есть товары. Я хочу в один dataProvider получить сразу все товары всех заказов одним списком.

Естественно отношения друг на друга у моделей выставлены.

Подскажите пожалуйста, как это можно сделать?
  • Вопрос задан
  • 611 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Естественно отношения друг на друга у моделей выставлены.

думаю речь о связях, тогда почему бы Вам их не показать или хотя бы описать, так как hasOne и hasMany это совершенно разные лапти и готовить их надо по разному. Но раз уж конкретики нет, приведу такой же размытый пример:
$user_id = 167;
$query = Product::find()->joinWith(['order.user'=>function($query) use ($user_id) {
  return $query->where(['user.id'=>$user_id]);
}]);
$dataProvider = new ActiveDataProvider([
    'query' => $query
]);

Короче, dataProveder-а не волнует, что там у Вас как связано, он получает запрос, и по нему получает данные, так что задача Ваша сводится к правильному запросу.
Вот почитушки в документации на тему joinWith:
www.yiiframework.com/doc-2.0/yii-db-activequery.ht...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы