Skip to main content
Tutorial Free

Where, WhereLoose and WhereStrict - did you know about them?

January 17, 2017
1 min read
Some Laravel functions are not mentioned or emphasized in the official docs, especially if they change from version to version. One of these examples is simple where() in Eloquent - what do you think, does it compare in a "strict" or "loose" way? Let me explain - we're talking about PHP operators of "equal" (==) and "identical" (===). So, what do you think, which operator is used here?
Product::where('category_id', 5)->get();
The answer will be even more confusing: it depends on Laravel version. You see, the change was made in Laravel 5.3. Up until 5.2, where() meant "identical" comparison. And if you wanted to use "equal" operator, there was a special function whereLoose(). From Laravel 5.3, it's the other way around: default where() means "equal" or "loose" comparison, and if you want do perform "strict" comparison - you can use whereStrict() function. If you want to read more, here's the link to the official 5.3 documentation.

Enjoyed This Tutorial?

Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.

Comments & Discussion

No comments yet…

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.