Chúng ta có thể cập nhật các bản ghi bằng cách sử dụng mặt tiền DB với phương thức cập nhật. Cú pháp của phương thức cập nhật như trong bảng sau
Cập nhật cú pháp[string $query, array $bindings = array[]]Tham số- $query[string] − truy vấn để thực thi trong cơ sở dữ liệu
- $bindings[array] − các giá trị để liên kết với truy vấn
Ví dụ
Quan sát ví dụ sau để hiểu thêm về cách cập nhật bản ghi –
Bước 1 - Thực hiện lệnh bên dưới để tạo bộ điều khiển có tên là StudViewController
php artisan make:controller StudUpdateController --plain
Bước 2 - Sau khi thực hiện thành công, bạn sẽ nhận được đầu ra sau -
Click Here to go back.'; } }Bước 4 - Tạo một tệp xem có tên
tài nguyên/lượt xem/stud_edit_view. lưỡi. php và sao chép đoạn mã sau vào tệp đó
tài nguyên/lượt xem/stud_edit_view. lưỡi. php
View Student Records @foreach [$users as $user] @endforeach ID Name Edit {{ $user->id }} {{ $user->name }} Edit
Bước 5 - Tạo một tệp xem khác có tên
tài nguyên/lượt xem/stud_update. php và sao chép đoạn mã sau vào tệp đó
tài nguyên/lượt xem/stud_update. php
Student Management | Edit Name
Bước 6 - Thêm các dòng sau vào app/Http/routes. php
ứng dụng/Http/tuyến. php
Route::get['edit-records','StudUpdateController@index']; Route::get['edit/{id}','StudUpdateController@show']; Route::post['edit/{id}','StudUpdateController@edit'];
Bước 7 - Truy cập URL sau để cập nhật bản ghi trong cơ sở dữ liệu
//localhost:8000/edit-records
Bước 8 - Đầu ra sẽ xuất hiện như trong hình dưới đây
Bước 9 - Nhấp vào liên kết chỉnh sửa trên bất kỳ bản ghi nào và bạn sẽ được chuyển hướng đến trang nơi bạn có thể chỉnh sửa bản ghi cụ thể đó
Ví dụ: giả sử chúng tôi đã thiết kế một phần mềm kiểm kê và phần mềm này đang được sử dụng trong sản xuất trong một năm và đạt 1.000.000 giao dịch
Đột nhiên, chúng tôi biết rằng chúng tôi đã không thêm VAT vào các giao dịch của mình. Đối với các giao dịch trong tương lai, nó khá dễ xử lý, có thể với một công cụ biến đổi
class Transaction extends Model {
public $vat = 0.20;
public function setPriceAttribute[$value] {
$this->attributes['price'] += $value * $this->vat;
}
}
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Hồ sơ trong tương lai là khá dễ dàng để đối phó với. Tuy nhiên, làm thế nào chúng ta sẽ chỉnh sửa 1 triệu bản ghi từ quá khứ
Để chỉnh sửa dữ liệu từ quá khứ, tôi thích tạo Seeder hơn
________số 8
Làm thế nào để không làm điều đó?
class AddVatToTransactions extends Seeder {
public function run[]
{
$vat = 0.20;
$transactions = Transaction::get[];
foreach [$transactions as $transaction] {
$transaction->price += $transaction->price * $vat
$transaction->save[];
}
}
}
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Tuy nhiên, chạy nó trong một vòng lặp 1 triệu và thực hiện một “giao dịch cơ sở dữ liệu” trong mỗi lần lặp của vòng lặp - không phải là một ý tưởng hay. [Cảnh báo spoiler. Nó sẽ đóng băng hệ thống của bạn 😀]