Support the ongoing development of Laravel.io →
posted 11 years ago
Eloquent

Hi,

I want to get products with a seri name contains a certain word. However it returns all products. Matching serie name condition appears to be array under each related product; for the rest of products it is just a blank "serie" key.

	$products=Product::with(array(
	'serie'=>function($query)
	{
		$query->where('name','like','%unky%');	
	}))
	->get()->toArray();

and array returned is like

[0] => Array
    (
        [id] => 1
        [updated_at] => 2014-02-14 22:26:04
        [created_at] => 0000-00-00 00:00:00
        [brand_id] => 1
        [cat_id] => 1
        [serie_id] => 1
        [devices_ids] => 1
        [color_code] => #BEB991
        [barcode] => 8699131462430
        [title] => Funky Charlie iPhone 5/5S Kılıfı
        [desc] => Sert 6 gr
        [price] => 29.90
        [serie] => Array
            (
                [id] => 1
                [updated_at] => 2014-02-14 22:18:31
                [created_at] => 0000-00-00 00:00:00
                [name] => Funky
            )

    )

[1] => Array
    (........


[5] => Array
    (
        [id] => 6
        [updated_at] => 2014-02-14 22:46:10
        [created_at] => 0000-00-00 00:00:00
        [brand_id] => 1
        [cat_id] => 1
        [serie_id] => 2
        [devices_ids] => 1
        [color_code] => red
        [barcode] => 8699131462546
        [title] => Bonjour Kırmızı iPhone 5/5S Kılıfı
        [desc] => Sert 6 gr
        [price] => 24.90
        [serie] =>

As you can see serie key is empty.

What i want is only to bring products with matching serie name and does not bring products like with id"5".

What i am doing wrong?

Thanks

Last updated 3 years ago.
0

hi,

Having same problem...

Did you fix it ?

Last updated 3 years ago.
0

Hi,

i have the same problem. Anyone a solution? Please! :)

0

I think you all are talking about this

$products=Product::with(array( 'serie'=>function($query) { $query->where('name','like','%unky%');
})) ->whereHas('serie', function($query) { $query->where('name','like','%unky%');
}) ->get()->toArray();

Last updated 10 years ago.
0

Sign in to participate in this thread!

Eventy

Your banner here too?

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2025 Laravel.io - All rights reserved.