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, ...
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');
Helper assertion trả về response status code 415 Unsupported Media Type
.
$response->assertUnsupportedMediaType();
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 HasOne
và MorphMany
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
, HasManyThrough
và MorphMany
.
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.0
và 10.4.0
trên GitHub. Bạn cũng có thể xem trực tiếp trong nhật ký thay đổi.