Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

laravel collection filter bilan ishlashda double clousure loop dan return qilish

0 ovoz
22 marta ko‘rilgan
so‘radi 15 noyabr parmonov98 (1,686 bal)

code

$products = $category->products;

foreach ($params as $key => $item) {

if ($key === 'attribute') {

$attributes = $item;

// dd($attributes);

foreach ($attributes as $subkey => $value) {

// dd($subkey, $value);

$attr_ids = ProductAttribute::where('name', $subkey)->pluck('id')->toArray();

// print_r($attr_ids);

// dd($attr_ids);

foreach ($attr_ids as $attr_id) {

$filtered_products = new Collection();

$filtered_products = $products->filter(function ($item) use ($attr_id, $value)

{

// echo $attr_id;

$item->characteristics->each(function ($charac) use ($value)

{

// print_r($charac->value);

// dd($value);

return in_array($charac->value, $value);

});

});

$products = $filtered_products;

}

}

}

}

products bor, har bir product ni characteristics bor. url dan kelgan filter params da.

agar filter turi attribute bo'lsa, unda, filter_name bo'yicha bazadan attribute turlarini id larini ovolyapman.
keyin kelgan ids bo'yicha loop qilyapman va har bir products characteristics record da value qiymati bor, o'shani filter value(array) da borligini tekshiryapman. to'g'ri bo'lsa return true bo'ladi, shunday filter method product itemni olib filtered_products ga yozib ketaveradi, lekin munday bo'lmayapti, sababi filterni closure methodida 
yana bitta each ni closure methodi ishlatilyapti, qachon each ni ichida return qilsam, u each ishini to'xtatadi leknkin filterga ta'sir qilmaydi. 
qanday qilib each ni closure ichida shart orqali products filter ga ham return true qivorish mumkin???

o'ylayman tushunarli yozdim... 

Iltimos, saytga kiring yoki ro‘yxatdan o‘ting va shunda ushbu savolga javob berishingiz mumkin bo‘ladi.

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...