Laravel

What’s New In Laravel 10.37 Released ?

912 Views 14 December 2023
What’s New In Laravel 10.37 Released ?

This week, the Laravel team released v10.37 with the ability to store batch metadata in DynamoDB, assert multiple errors on a field, and more. Here is a bit more info about the new features introduced this week:

 

Storing batches in DynamoDB

Sebastien Armand contributed storing batch meta information in DynamoDB instead of a relational database. You can configure your application to use DynamoDB using the following config in your queue.php config file:

----------------------------------------

'batching' => [

    'driver' => env('QUEUE_FAILED_DRIVER', 'dynamodb'),

    'key' => env('AWS_ACCESS_KEY_ID'),

    'secret' => env('AWS_SECRET_ACCESS_KEY'),

    'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

    'table' => 'job_batches',

],

----------------------------------------

Assert multiple error messages

Tim MacDonald contributed the ability to assert a list of errors on a field using the assertInvalid() method:

----------------------------------------

// Before, separate assertion calls are required

$response->assertInvalid(['email' => 'The email field must be a string.']);

$response->assertInvalid(['email' => 'The email field must be at least 5 characters.']);

 

// As of Laravel 10.37 you can now do:

$response->assertInvalid([

    'email' => [

        'The email field must be a string.',

        'The email field must be at least 5 characters.',

    ],

]);

----------------------------------------

Add engine() method to Blueprint

James Brooks contributed an engine() method when defining migration schemas:

----------------------------------------

// Previously

Schema::table('foo', function (Blueprint $table) {

    $table->engine = 'InnoDB';

 

    // ...

});

 

// Using the new engine() method

Schema::table('foo', function (Blueprint $table) {

    $table->engine('InnoDB');

 

    // ...

});

----------------------------------------

Get the indexes and foreign keys of a table

Hafez Divandari contributed a getIndexes() and getForeignKeys methods to get the indexes and foreign keys of a given table schema.

 

Schema::getIndexes();

Schema::getForeignKeys();

The getIndexes() method returns an array with various keys, such as name, columns, type, unique, and primary, and the getForeignKeys() method returns an array for each foreign key with name, columns, foreign_schema, foreign_table, foreign_columns, on_update, and on_delete.

Img

Written by

Sandeep Gajera

Sandeep Gajera is a Founder and Technical Director at AstroJal Technology. He is dedicated to making the best use of modern technologies to craft end-to-end solutions. He also has a vast knowledge of Cloud management like AWS / Google Cloud. He loves to do coding so still doing the coding. Also, help employees for quality based solutions to clients. Always eager to learn new technology and implement for best solutions.