Làm cách nào để thay đổi định dạng ngày trong laravel 7?

Trình truy cập và trình biến đổi cho phép bạn định dạng các giá trị thuộc tính Eloquent khi bạn truy xuất hoặc đặt chúng trên các phiên bản mô hình. Ví dụ: bạn có thể muốn sử dụng trình mã hóa Laravel để mã hóa một giá trị trong khi nó được lưu trữ trong cơ sở dữ liệu, sau đó tự động giải mã thuộc tính khi bạn truy cập nó trên mô hình Eloquent

Ngoài các trình truy cập và trình biến đổi tùy chỉnh, Eloquent cũng có thể tự động chuyển các trường ngày sang các phiên bản Carbon hoặc thậm chí

Bộ truy cập & bộ biến đổi

Định nghĩa một Accessor

Để xác định một trình truy cập, hãy tạo một phương thức

$firstName = $user->first_name;

0 trên mô hình của bạn trong đó

$firstName = $user->first_name;

1 là tên viết tắt "nghiên cứu" của cột bạn muốn truy cập. Trong ví dụ này, chúng ta sẽ định nghĩa một bộ truy cập cho thuộc tính

$firstName = $user->first_name;

2. Trình truy cập sẽ tự động được gọi bởi Eloquent khi cố gắng truy xuất giá trị của thuộc tính

$firstName = $user->first_name;

2

use Illuminate\Database\Eloquent\Model;

* Get the user's first name.

public function getFirstNameAttribute[$value]

Như bạn có thể thấy, giá trị ban đầu của cột được chuyển đến bộ truy cập, cho phép bạn thao tác và trả về giá trị. Để truy cập giá trị của bộ truy cập, bạn có thể chỉ cần truy cập thuộc tính

$firstName = $user->first_name;

2 trên một phiên bản mô hình

$firstName = $user->first_name;

Xác định một Mutator

Để xác định bộ biến đổi, hãy xác định phương thức

$firstName = $user->first_name;

5 trên mô hình của bạn trong đó

$firstName = $user->first_name;

1 là tên viết tắt "nghiên cứu" của cột bạn muốn truy cập. Vì vậy, một lần nữa, hãy xác định một trình biến đổi cho thuộc tính

$firstName = $user->first_name;

2. Trình biến đổi này sẽ được gọi tự động khi chúng ta cố gắng đặt giá trị của thuộc tính

$firstName = $user->first_name;

2 trên mô hình

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

Trình biến đổi sẽ nhận giá trị được đặt trên thuộc tính, cho phép bạn thao tác giá trị và đặt giá trị được thao tác trên thuộc tính

$firstName = $user->first_name;

9 bên trong của mô hình Eloquent. Vì vậy, ví dụ: nếu chúng tôi cố gắng đặt thuộc tính

$firstName = $user->first_name;

2 thành

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

1

$user->first_name = 'Sally';

Trong ví dụ này, hàm

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

2 sẽ được gọi với giá trị

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

1. Trình biến đổi sau đó sẽ áp dụng hàm

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

4 cho tên và đặt giá trị kết quả của nó trong mảng nội bộ

$firstName = $user->first_name;

9

Người đột biến ngày

Theo mặc định, Eloquent sẽ chuyển đổi các cột

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

6 và

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

7 thành các phiên bản của Carbon, mở rộng lớp PHP

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

8 để cung cấp một loạt các phương thức hữu ích. Bạn có thể tùy chỉnh ngày nào được thay đổi tự động và thậm chí vô hiệu hóa hoàn toàn thay đổi này bằng cách ghi đè thuộc tính

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

9 của mô hình của bạn

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

Khi một cột được coi là ngày, bạn có thể đặt giá trị của nó thành dấu thời gian UNIX, chuỗi ngày [

$user->first_name = 'Sally';

0], chuỗi ngày-thời gian và tất nhiên là một phiên bản

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

8 /

$user->first_name = 'Sally';

2 và giá trị của ngày sẽ tự động được lưu trữ chính xác trong cơ sở dữ liệu của bạn

$user->deleted_at = Carbon::now[];

Như đã lưu ý ở trên, khi truy xuất các thuộc tính được liệt kê trong thuộc tính

use Illuminate\Database\Eloquent\Model;

* Set the user's first name.

public function setFirstNameAttribute[$value]

$this->attributes['first_name'] = strtolower[$value];

9 của bạn, chúng sẽ tự động được truyền sang phiên bản Carbon, cho phép bạn sử dụng bất kỳ phương thức nào của Carbon trên thuộc tính của mình

return $user->deleted_at->getTimestamp[];

Định dạng ngày

Theo mặc định, dấu thời gian được định dạng là

$user->first_name = 'Sally';

4. Nếu bạn cần tùy chỉnh định dạng dấu thời gian, hãy đặt thuộc tính

$user->first_name = 'Sally';

5 trên mô hình của bạn. Thuộc tính này xác định cách các thuộc tính ngày được lưu trữ trong cơ sở dữ liệu, cũng như định dạng của chúng khi mô hình được tuần tự hóa thành một mảng hoặc JSON

use Illuminate\Database\Eloquent\Model;

* The storage format of the model's date columns.

protected $dateFormat = 'U';

Đúc thuộc tính

Thuộc tính

$user->first_name = 'Sally';

6 trên mô hình của bạn cung cấp một phương pháp thuận tiện để chuyển đổi các thuộc tính thành các loại dữ liệu phổ biến. Thuộc tính

$user->first_name = 'Sally';

6 phải là một mảng trong đó khóa là tên của thuộc tính được truyền và giá trị là loại bạn muốn truyền cột tới. Các loại diễn viên được hỗ trợ là.

$user->first_name = 'Sally';

8,

$user->first_name = 'Sally';

9,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

0,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

1,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

2,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

3,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

4,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

5,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

6,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

7,

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

8 và

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

9

Ví dụ: hãy chuyển thuộc tính

$user->deleted_at = Carbon::now[];

0, được lưu trữ trong cơ sở dữ liệu của chúng tôi dưới dạng số nguyên [

$user->deleted_at = Carbon::now[];

1 hoặc

$user->deleted_at = Carbon::now[];

2] thành giá trị boolean

use Illuminate\Database\Eloquent\Model;

* The attributes that should be cast to native types.

Bây giờ, thuộc tính

$user->deleted_at = Carbon::now[];

0 sẽ luôn được chuyển thành kiểu boolean khi bạn truy cập nó, ngay cả khi giá trị cơ bản được lưu trữ trong cơ sở dữ liệu dưới dạng số nguyên

Truyền mảng & JSON

Kiểu truyền

use Illuminate\Database\Eloquent\Model;

* The attributes that should be mutated to dates.

5 đặc biệt hữu ích khi làm việc với các cột được lưu trữ dưới dạng JSON tuần tự hóa. Ví dụ: nếu cơ sở dữ liệu của bạn có loại trường

$user->deleted_at = Carbon::now[];

5 hoặc

$user->deleted_at = Carbon::now[];

6 chứa JSON được tuần tự hóa, thì việc thêm biến ______24_______5 vào thuộc tính đó sẽ tự động giải tuần tự hóa thuộc tính thành một mảng PHP khi bạn truy cập nó trên mô hình Eloquent của mình

use Illuminate\Database\Eloquent\Model;

* The attributes that should be cast to native types.

Sau khi xác định kiểu truyền, bạn có thể truy cập thuộc tính

$user->deleted_at = Carbon::now[];

8 và nó sẽ tự động được giải tuần tự hóa từ JSON thành một mảng PHP. Khi bạn đặt giá trị của thuộc tính

$user->deleted_at = Carbon::now[];

8, mảng đã cho sẽ tự động được tuần tự hóa lại thành JSON để lưu trữ

Làm cách nào để thay đổi định dạng ngày trong Laravel?

Tôi sẽ chỉ cho bạn mã điều khiển mà không cần đặt. .
Laravel 9 Thay đổi định dạng ngày với Model. sử dụng Ứng dụng\Mô hình\Người dùng;.
Laravel 9 Thay đổi định dạng ngày Y-m-d H. i. s sang d-m-Y. .
Laravel 9 Thay đổi định dạng ngày Y-m-d thành m/d/Y. .
Laravel 9 Thay đổi định dạng ngày m/d/Y thành Y-m-d. .
Laravel 9 Thay đổi định dạng ngày Y-m-d thành d/m/Y

Làm cách nào để thay đổi định dạng ngày trong Laravel 8?

Ví dụ về định dạng ngày thay đổi của Laravel 8 .
ví dụ 1. hàm công khai getPost[$id] $post = Bài đăng. tìm[$id].
ví dụ 2. hàm công khai tạo[] $date = date['Y-m-d H. i. S'];.
ví dụ 3. Y-m-d sang m/d/Y. chức năng công cộng tạo[].
Ví dụ 4. m/d/Y đến Y-m-d. chức năng công cộng tạo[].
Ví dụ 5. Y-m-d sang d/m/Y. chức năng công cộng tạo[]

Làm cách nào để đặt định dạng thời gian trong Laravel?

return [ 'date_format' => 'm/d/Y', 'date_format_javascript' => 'MM/DD/YYYY', ]; . Cacbon. createFromFormat[config['app. date_format'], $value]->format['Y-m-d']; . phân tích cú pháp[$value]->format[config['app.

Làm cách nào để thay đổi định dạng ngày trong trình tạo truy vấn Laravel?

Bạn luôn có thể sử dụng Định dạng -> của carbon['m/d/Y']; để thay đổi định dạng. Hoặc bạn chỉ có thể sử dụng selectRaw để tạo các truy vấn của mình. Lưu câu trả lời này.

Chủ Đề