Laravel RESTful controller mechanism is a very convenient thing - we generate Controller, write {{ Form::xxxx() }} methods in Blade templates and it works like magic. But there's a little trick there which I want to talk about - it's PUT/PATCH/DELETE methods for updating the database entries.
Let's say we have DB table products, which is linked to table categories with a field products.category_id = categories.id, Eloquent helps us to define a relation easily. But what if the category gets (soft) deleted, but we still need to have that relationship to be returned for history reasons? You can use withTrashed() method here.
There is one small upgrade in Laravel 5.1 which breaks apps with earlier versions - it is related to <select> dropdown items. For a long time, Eloquent had a useful way of passing options to Form::select() - but adding an empty parameter doesn't work in Laravel 5.1 anymore. Here's what to do.
Artisan has a convenient command artisan down for an occasion when you need to put your web-project down for a while - for the case of deployment, maintenance or anything like that. Question - how to customize that temporary error page?
Just a quick tip. I've noticed a really typical mistake by developers, which caused some headache for myself and for others - you add a new field into the database table, but for some reason it isn't automatically saved.
Laravel has a useful function redirect() to, well, redirect a user to a different page or action, with or without data. Let's discuss those various options in one place - maybe you will find out something new for yourself.
Eloquent is a great thing - you can build your query step-by-step and then call get() method. But sometimes it gets a little tricky for more complicated queries - for example, if you have multiple AND-OR conditions and you want to put brackets, how to do it properly?
Just a quick tip - since Laravel 5.1 now is coming with PSR-2 support (most important change is spaces indent instead of tabs), it makes sense to configure your editor to support that by default, if you haven't done so already.
Laravel is pretty strict about any kind of errors - if you try to use undefined variable or don't pass a necessary parameter you immediately see Whoops or another kind of error, depending how you handle them. There's a little trick with Input variables that might save you some time and lines of code.