Our blog

Laravel Custom Validation: one of the fields required, but not both

Laravel Validation mechanism has a lot of rules provided – a field can be required, integer, IP address, timezone etc. But sometimes there is a need for a special rule which is not in that list. One example of this is when you have two fields and you need only one of them to be filled. One, or another, but NOT BOTH. Laravel doesn’t have a rule for that, so let’s create one!

Friday, July 24th, 2015

CSRF protection difference: Laravel 4.x, 5.0 and 5.1

For those who work with different Laravel versions on different projects, it’s useful to know the difference of CSRF logic – it changed a little from 4.x to 5.x.

Thursday, July 23rd, 2015

Route Group within a Group

A real-life scenario: you want to have URLs like account/*** under the same Route group with a prefix, but some of them should be also restricted with Auth Middleware. No problem – you can create a Group within a Group!

Wednesday, July 22nd, 2015

View logs with Artisan Tail command in Laravel 5+

If you moved from Laravel 4 to version 5 or 5.x – you will miss an Artisan command artisan tail for your log viewing. How to get it back? Luckily, there’s a package for that.

Tuesday, July 21st, 2015

Eloquent: incrementing columns without update() function

Eloquent mechanism isn’t limited to just create/update/delete functions – that’s why it’s awesome. One of those helpers come to rescue when you need to increment a column, basically run update X set Y=Y+1 where id = Z – apparently, there’s no need to run update() function for that.

Monday, July 20th, 2015

Eloquent: How to make lists() work for Accessor fields?

A very convenient way to populate dropdown options with Eloquent is to use lists() function. But it doesn’t work out of the box with “Append” fields, also called “Accessors”. Here’s a small trick to make it work.

Friday, July 17th, 2015

Schema Builder: changing table columns (only Laravel 5.0+)

While working with database migrations and schema builder, sometimes we do need to make changes to the columns that already exist. Can you do that and how?

Thursday, July 16th, 2015

Eloquent: filter only rows which has related “children” rows

Simple use-case: you want to filter only those categories which have at least one product. Or course, you write Category::with(‘products’)->… but how do you filter out those empty categories? Those with no product? There’s an app function for that: has().

Tuesday, July 14th, 2015

How to customize error messages in Request Validation?

Laravel 5 has an awesome new function – Request Validation. It separates the logic of Validation into kind of a separate layer – Requests, which reside in the folder app/Http/Requests. After the form validation, it auto-magically shows error messages. But what if we want to customize them?

Monday, July 13th, 2015