Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // получаем все простые и собираем для них инфу
- $products = Product::where('type', 0)->where('type', '<>', null)->select(['products_id', 'block_id', 'manufacturers_id', 'type'])
- ->whereHas('inComposite')
- ->with([
- 'descriptions' => function ($q) {
- $q->select(['products_name', 'products_description', 'products_id'])->where('language_id', 2);
- },
- 'block' => function ($q) {
- $q->select(['block_id','block_name_uk', 'selector']);
- },
- 'product_specs' => function ($q) {
- return $q->where('spec_control', '<>', 0)->select(['spec_specs.spec_name', 'spec_specs.spec_id', 'spec_control']);
- },
- 'prod_spec_values' => function($q) {
- $q->where('spec_control', '<>', 0)->select(['value_name', 'spec_values.value_id','spec_values.spec_id']);
- },
- 'inComposite' => function ($q) {
- $q->select(['composite_id', 'product_id']);
- },
- 'manufacturer' => function ($q) {
- $q->select('manufacturers_name', 'manufacturers_id');
- },
- ])->get();
- // моделька Product::
- public function product_specs()
- {
- return $this->belongsToMany(Spec::class, 'spec_products', 'product_id', 'spec_id')
- ->withPivot(['spec_sort', 'spec_control'])
- ->groupBy('pivot_spec_id')
- ->orderBy('pivot_spec_sort');
- }
- public function prod_spec_values()
- {
- return $this->belongsToMany(SpecValue::class, 'spec_products', 'product_id', 'value_id','product_id')
- ->withPivot(['sort', 'spec_control', 'image_name'])
- ->groupBy('pivot_value_id')
- ->orderBy('pivot_sort');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement