Laravel_Tips's profile picture. Almost daily Laravel tips from @crbdev

Laravel Tips

@Laravel_Tips

Almost daily Laravel tips from @crbdev

Laravel Tips reposted

Be Smart, get smarter nomadphp.com/be-smart-get-s…

nomadphp's tweet image. Be Smart, get smarter
nomadphp.com/be-smart-get-s…

I often see DB::raw being used for subselects, but you can do them in query builder using a closure as the 2nd argument on the where clause.

Laravel_Tips's tweet image. I often see DB::raw being used for subselects, but you can do them in query builder using a closure as the 2nd argument on the where clause.

Need multiple paginators? Just pass a name as the 3rd argument of paginate method. This gets used in querystring. 2nd param is for select

Laravel_Tips's tweet image. Need multiple paginators? Just pass a name as the 3rd argument of paginate method. This gets used in querystring. 2nd param is for select

In blade {{$collection->total()}} displays number of records in the whole collection {{$collection->count()}} only gives paginated amount.


When defining relationships, add ->select to slim down what's selected from the relevant table, otherwise Laravel will default to SELECT *

Laravel_Tips's tweet image. When defining relationships, add ->select to slim down what's selected from the relevant table, otherwise Laravel will default to SELECT *

Mysql generated columns allow you to create columns based on your data and complex sql expressions, as always laravel as you covered.

Laravel_Tips's tweet image. Mysql generated columns allow you to create columns based on your data and complex sql expressions, as always laravel as you covered.

When deploying you can speed up your app by running 'php artisan optimize' as a post deploy step.

Laravel_Tips's tweet image. When deploying you can speed up your app by running 'php artisan optimize' as a post deploy step.

In a migration, if you want to start incrementing from a number other than 1 use DB::update('ALTER TABLE tablename AUTO_INCREMENT = 1000');

Laravel_Tips's tweet image. In a migration, if you want to start incrementing from a number other than 1 use 
DB::update('ALTER TABLE tablename AUTO_INCREMENT = 1000');

Watch out for SQL injection issues when using DB::raw, use ? or :named placeholders, One gotcha! Variables are argument on select not raw

Laravel_Tips's tweet image. Watch out for SQL injection issues when using DB::raw, use ? or :named placeholders, One gotcha! Variables are argument on select not raw

If you want to union more than 2 queries in query builder, fluently chain multiple ->union() calls in the final part of your query.

Laravel_Tips's tweet image. If you want to union more than 2 queries in query builder, fluently chain multiple ->union() calls in the final part of your query.

You can create custom messages on your own formRequest objects by adding a messages() method.

Laravel_Tips's tweet image. You can create custom messages on your own formRequest objects by adding a messages() method.

Want to get 3 random rows from a table try $RandomProducts = Products::orderByRaw('RAND()')->take(3)->get();


To edit the default Blade files for password resets etc, php artisan vendor:publish will copy the relevant templates to your resources dir


When using whereMonth in an eloquent query, you probably want to also use whereYear otherwise data from all years will be returned


Reset all migrations and reseed your database with one artisan command php artisan migrate:refresh --seed


Loading...

Something went wrong.


Something went wrong.