Tôi nghĩ tôi cũng nên thử một hướng dẫn về Laravel. Trên thực tế, không. Vấn đề là tôi đã gặp phải một vấn đề. Bạn biết rằng trở thành một lập trình viên có nghĩa là lười biếng. Trong ngữ cảnh của Laravel, trong khi làm việc trên bộ điều khiển cần phương thức tạo và cập nhật, đồng thời xem tài liệu, tôi đã tự hỏi tại sao chúng ta nên tạo hai biểu mẫu [khung nhìn] khác nhau cho hai phương thức
Nói ít, làm nhiều. Vì vậy, chúng ta hãy bắt tay vào công việc. Thông thường, hai phương thức mà biểu mẫu tạo và cập nhật xuất hiện là phương thức tạo [] và chỉnh sửa []. Vì vậy, hãy để tôi chỉ cho bạn cách chúng trông như thế nào trong ví dụ của tôi
public function create[]
{
return view['companies.createupdate'];
}
public function edit[Company $company]
{
return view['companies.createupdate', ['company' => $company]];
}
Tôi đã giả định rằng vì bộ điều khiển là một loại tài nguyên của bộ điều khiển và vì tôi nhận được mô hình bên trong phương thức edit[], nên tôi sẽ gửi mô hình đến dạng xem biểu mẫu
Bây giờ, hãy nhìn vào dạng xem biểu mẫu…
@extends['layouts.app']
@section['content']
@if [isset[$company]]
@method['PUT']
@else
@endif
@csrf
@if [isset[$company]] Edit @else Add @endif companie
Simbol companie
@error['ticker']
{{ $message }}
@enderror
Nume companie
@error['name']
{{ $message }}
@enderror
Salveaza
Như bạn có thể thấy, tùy thuộc vào việc nhận biến công ty [mô hình], tôi đang gửi biểu mẫu url cụ thể của nó. Vì vậy, nếu chúng ta có một biến $company, chúng ta sẽ quyết định về biểu mẫu và cả việc chuyển hay không chuyển trường ẩn phương thức
@if [isset[$company]]
@method['PUT']
@else
@endif
Ngoài ra, tùy thuộc vào sự hiện diện của biến $company, chúng tôi quyết định đầu ra có thể là gì, bất kể chúng tôi nói về chuỗi đơn giản hay giá trị của đầu vào
@if [isset[$company]] Edit @else Add @endif company
Giá trị của đầu vào ở đây đang sử dụng đầu vào cũ [đối với những lần biểu mẫu chưa vượt qua trình xác thực] hoặc, làm giá trị mặc định, giá trị được gửi từ $company. Hãy lưu ý ở đây về phần này
.. value="{{ old['ticker', $company->ticker ?? ''] }}"
Điều quan trọng trước tiên là đảm bảo rằng chúng tôi có một giá trị, nếu không chúng tôi sẽ gặp sự cố khi tạo biểu mẫu
Có lẽ một ý tưởng hay ở đây cũng là đề cập đến các quy tắc xác thực. Vì vậy, đối với phương thức store[] chúng ta có
Trong bài đăng này, tôi sẽ giải thích cách sử dụng Laravel 8 và 9 Eloquent updateOrCreate[] và tầm quan trọng của nó. Laravel cung cấp updateOrCreate[] để giúp chúng ta cập nhật bản ghi nếu có và tạo nếu chưa có. Phương pháp này giúp chúng ta không phải kiểm tra thủ công bản ghi có tồn tại không thì cập nhật nếu không thì tạo. Xem bên dưới để biết ví dụ của tôi bên dưới mà không có Laravel updateOrCreate[] và với Laravel updateOrCreate[]
Ví dụ không có Laravel updateOrCreate[]