Back to home

Có gì mới trong Laravel 10.4

Posted by Ngo Quoc Dat on 04 Mar 2023

Team Laravel vừa phát hành Laravel phiên bản 10.4 đi kèm với các tính năng mới như phương thức File::json(), chuyển đổi relationship HasMany có sẵn thành relationship HasOne, ...

Phương thức File::json()

Phương thức File::json() là một cách mới để lấy dữ liệu json từ một file:

// Trước
$contents = File::get('sample.json');
$data = json_decode($contents, true);
 
// Sau
$data = File::json('sample.json');

Assert unsupported media type

Helper assertion trả về response status code 415 Unsupported Media Type.

$response->assertUnsupportedMediaType();

Chuyển đổi relationship HasMany thành HasOne

Chúng ta sẽ có thêm một phương thức mới để chuyển đổi relationship HasMany đã định nghĩa sẵn trong model thành HasOneMorphMany thành MorphOne. Bên dưới là ví dụ:

class Category extends Model
{
    public function posts(): HasMany
    {
        return $this->hasMany(Post::class);
    }

    public function latestPost(): HasOne
    {
        return $this->hasOne(Post::class)->latestOfMany();
    }
}

Trong phiên bản 10.4, bạn có thể làm như sau:

class Category extends Model
{
    public function posts(): HasMany
    {
        return $this->hasMany(Post::class);
    }

    public function latestPost(): HasOne
    {
        return $this->posts()->one()->latestOfMany();
    }
}

Phương thức one() cũng có thể được sử dụng trên HasMany, HasManyThroughMorphMany.

Ghi chú phát hành

Bạn có thể xem chi tiết các sự thay đổi cập nhật, tính năng mới giữa phiên bản 10.3.010.4.0 trên GitHub. Bạn cũng có thể xem trực tiếp trong nhật ký thay đổi.