There’s one really neat Laravel Eloquent function which, from my experience, a lot of developers don’t know. How do we write WHERE clauses on Eloquent queries?
First option: with three arguments – field, operator, value.
$products = Product::where('category', '=', 3)->get();
Shorter option: we can skip the second parameter, equal sign.
$products = Product::where('category', 3)->get();
But now – even shorter option: did you know you can do THAT?
$products = Product::whereCategory(3)->get();
Yes, exactly, just add your field in CamelCase after the where symbols. Under the hood Laravel engine will transform it into a proper where clause with equal sign.
And if you have a field with more than one “word” and underscore separator, like category_id – transform it into CamelCase:
$products = Product::whereCategoryId(3)->get();
That’s it, simple “trick” but the code is even more readable now, isn’t it?