Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день.
Делаю такой запрос
Attribute::whereHas('values', function($q) use($product){
$q->whereHas('combinations', function($q) use($product) {
$q->whereIn('product_attribute_id', $product->variations->pluck('id')->all());
});
})->get();
Он возвращает только аттрибуты. А как сделать что бы он вернул атрибуты и связь combinations?
Связи выглядят так:
Attribute hasMany Values, Values belongsToMany Combinations
Не в сети
Attribute::whereHas('values', function($q) use($variations){
$q->whereHas('combinations', function($q) use($variations) {
$q->whereIn('product_attribute_id', $variations);
});
})->with(['values' => function($q) use($variations){
$q->whereHas('combinations', function($q) use($variations) {
$q->whereIn('product_attribute_id', $variations);
});
}])->get()
Не в сети
Код во втором сообщении делает не то, что написано в первом. Ты говоришь, что хочешь связь combinations, а загружаешь values. Запости полностью рабочий код и уточни что действительно нужно загрузить и тогда, возможно, получится оптимизировать запросы.
Изменено AlexeyMezenin (22.08.2017 13:36:21)
Не в сети
- Код во втором сообщении делает не то, что написано в первом
Да, я не правильно объяснил. Извиняюсь.
Надо что бы запрос вернул атрибуты и их значения (values) у которых $q->whereIn('product_attribute_id', $product->variations->pluck('id')->all());. Тоесть согласно этому запросу вернуть атрибуты и их значения
Не в сети
Не в сети
Страницы 1