CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

27 March, 2023

Laravel 10.4 Released

 Programing Coderfunda     March 27, 2023     Laravel, Laravel-News     No comments   

 The Laravel team released 10.4 with a File::json() method, converting existing HasMany relationships to a HasOne relationship, a new test response assertion, and more.

File::json() method

Austin White contributed a File::json() method as a convenience for getting JSON encoded data from a file:

// Before
$contents = File::get('sample.json');
$data = json_decode($contents, true);
 
// After
$data = File::json('sample.json');

Assert unsupported media type

Shamimul Alam contributed an assertion helper for the 415 Unsupported Media Type response status code:

$response->assertUnsupportedMediaType();

Convert an existing HasMany to HasOne relationship

Luke Kuzmish contributed converting a HasMany to a HasOne and a MorphMany to MorphOne

Take this example of having to define two relationships:

class User extends Model
{
public function logins(): HasMany {
return $this->hasMany(Login::class, 'some_id', 'the_other_id');
}
public function latestLogin(): HasOne {
return $this->hasOne(Login::class, 'some_id', 'the_other_id')->latestOfMany();
}
}

With this PR now, you can do the following instead with the ->one() method:

class User extends Model
{
public function logins(): HasMany {
return $this->hasMany(Login::class, 'some_id', 'the_other_id');
}
public function latestLogin(): HasOne {
return $this->logins()->one()->latestOfMany();
}
}

The one() method is available on the HasMany, HasManyThrough, and MorphMany.

Create macroable method for paginationInformation

Frans Slabbekoorn contributed the ability to define a macro for paginationInformation that allows customizing pagination information without having to extend all resources as a base resource:

/** @mixin \Illuminate\Http\Resources\Json\ResourceCollection */
class ResourceCollectionMixin
{
public function paginationInformation(): Closure
{
return fn ($request, $paginated, $default) => collect($default)->mapWithKeysRecursively(fn ($item, $key) => [Str::camel($key) => $item])->toArray();
}
}

Release Notes

You can see the complete list of new features and updates below and the diff between 10.3.0 and 10.4.0 on GitHub. The following release notes are directly from the changelog:

v10.4.0

Added

  • Added Illuminate/Testing/Concerns/AssertsStatusCodes::assertUnsupportedMediaType() (#46426)
  • Added curl_error_code: 77 to DetectsLostConnections (#46429)
  • Allow for converting a HasMany to HasOne && MorphMany to MorphOne (#46443)
  • Add option to create macroable method for paginationInformation (#46461)
  • Added Illuminate/Filesystem/Filesystem::json() (#46481)

Fixed

  • Fix parsed input arguments for command events using dispatcher rerouting (#46442)
  • Fix enums uses with optional implicit parameters (#46483)
  • Fix deprecations for embedded images in symfony mailer (#46488)

Changed

  • Added alternative database port in Postgres DSN (#46403)
  • Allow calling getControllerClass on closure-based routes (#46411)
  • Remove obsolete method_exists(ReflectionClass::class, 'isEnum') call (#46445)
  • Convert eloquent builder to base builder in whereExists (#46460)
  • Refactor shared static methodExcludedByOptions method to trait (#46498)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Show page numbers as navigation in Laravel pagination
      Answer Sorted by:                                                Highest score (default)                                                  ...
  • How to monitor process status during process lifetime
    I need to track the process status ps axf during executable lifetime. Let's say I have executable main.exec and want to store into a fi...
  • Use Flags For Countries & Languages in Laravel Blade Views
      Blade Flags   is a package to efficiently use   TwEmoji Countries & Languages Flags   in your Laravel Blade views. You can use it easi...
  • Different ways of passing a variable by reference?
    I want to pass a variable to a function and have the function change the value. I know I can do this as an object but am wondering if the...
  • How to Run a Python File on a Specific Virtual Desktop Only?
    I want to run a Python script on a specific virtual desktop without affecting other desktops. Currently, when I execute my Python file us...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • July (4)
  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda