Làm cách nào để thực hiện thao tác cập nhật trong Laravel?

Laravel là một khung web dựa trên PHP đã đặt nền móng cho các nhà phát triển web để tạo một ứng dụng web mà không phải lo lắng về những điều nhỏ nhặt. Ngoài ra, laravel cung cấp kiến ​​trúc MVC[model-view-controller] để xây dựng các ứng dụng CRUD một cách nhanh chóng

Cứ sau sáu tháng, nhóm nhà phát triển cốt lõi lại đưa ra phiên bản Laravel mới hơn và cải tiến hơn; . Bài đăng này sẽ hướng dẫn bạn tạo một ứng dụng thô trên Laravel 8 một cách nhanh chóng. Nếu bạn là người mới bắt đầu học Laravel, bài viết này sẽ giúp bạn tạo, chèn, cập nhật và xóa mô hình khỏi Cơ sở dữ liệu

Laravel 8 CRUD

Để tạo ứng dụng CRUD trong Laravel 8, máy của bạn phải có phiên bản PHP >= 7. 3 và nhà soạn nhạc với các phần mở rộng bổ sung sau

  1. Phần mở rộng BCMath PHP
  2. Tiện ích mở rộng Ctype PHP
  3. Tiện ích mở rộng OpenSSL PHP
  4. Phần mở rộng PDO PHP
  5. Tiện ích mở rộng mã thông báo PHP
  6. Tiện ích mở rộng XML PHP
  7. Tiện ích mở rộng Fileinfo PHP
  8. Tiện ích mở rộng PHP JSON
  9. Tiện ích mở rộng Mbstring PHP

Bước 1. Cài đặt Laravel 8

Nếu bạn đang sử dụng Laravel Valet, bạn cần cập nhật hệ thống của mình để tạo dự án laravel mới nhất. Bạn có thể tham khảo thêm tại hướng dẫn nâng cấp Laravel Valet

Bạn cũng có thể cài đặt Laravel 8 bằng lệnh sau

composer create-project laravel/laravel --prefer-dist laravel8crud

Tôi sẽ sử dụng Visual Studio Code làm trình chỉnh sửa cho dự án này

Bước 2. Cấu hình cơ sở dữ liệu MySQL

Chúng tôi sẽ sử dụng cơ sở dữ liệu MySQL để tạo Cơ sở dữ liệu và đưa nó trở lại dự án

Laravel cung cấp các. env để thêm thông tin xác thực. Mở tệp và chỉnh sửa mã sau

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root

Tên người dùng và mật khẩu sẽ khác với tên của bạn dựa trên thông tin đăng nhập cơ sở dữ liệu của bạn

Laravel đi kèm với các di chuyển mặc định như bảng người dùng, password_reset và bảng create_failed_jobs. Bây giờ hãy vào terminal và gõ lệnh sau để chạy quá trình di chuyển của bạn.

php artisan migrate

Bạn có thể thấy trong cơ sở dữ liệu của mình rằng các bảng này đã được tạo và các bảng đó trống

Bước 3. Tạo mô hình và di chuyển tùy chỉnh

Chúng tôi sẽ tạo một dự án xung quanh trò chơi Playstation 5. Vì vậy, người dùng có thể tạo trò chơi PS5, chỉnh sửa và xóa trò chơi. Vì vậy, hãy tạo một mô hình Trò chơi và di chuyển

php artisan make:model Game -m

Nó sẽ tạo ra hai tập tin

  1. Trò chơi. mô hình php
  2. di chuyển tạo_games_table

Thêm các trường mới bên trong create_games_table. tệp di chuyển php

// create_games_table.php

public function up[]
{
        Schema::create['games', function [Blueprint $table] {
            $table->id[];
            $table->string['name'];
            $table->integer['price'];
            $table->timestamps[];
        }];
}

Các trường id và dấu thời gian được tạo bởi Laravel theo mặc định. Tên và giá là các trường tùy chỉnh mà người dùng có thể thêm qua biểu mẫu web. Cuối cùng, bạn có thể chạy di chuyển để tạo bảng trong cơ sở dữ liệu

php artisan migrate

Bước 4. Tạo bộ điều khiển Laravel 8

Định tuyến tài nguyên Laravel gán các tuyến “CRUD” điển hình cho bộ điều khiển với một dòng mã. Vì ứng dụng của chúng tôi là các hoạt động thô sơ cơ bản, chúng tôi sẽ sử dụng Bộ điều khiển tài nguyên cho dự án nhỏ này

php artisan make:controller GameController --resource

Trong bản cài đặt mới của Laravel 8, không có tiền tố không gian tên nào được áp dụng cho các nhóm tuyến đường mà tuyến đường của bạn được tải vào

Trong các bản phát hành trước của Laravel,

php artisan migrate
6 chứa thuộc tính 
php artisan migrate
7. Giá trị của thuộc tính này sẽ tự động được thêm tiền tố vào các định nghĩa tuyến đường của bộ điều khiển và lệnh gọi tới phương thức 
php artisan migrate
8 helper / 
php artisan migrate
9 . Trong Laravel 8. x, thuộc tính này là 
php artisan make:model Game -m
0 theo mặc định. Điều này có nghĩa là không có tiền tố không gian tên tự động nào được thực hiện bởi Laravel. ” Laravel 8. x Tài liệu – Ghi chú phát hành

Tại đây, bạn có thể mở App\Providers\RouteServiceProvider. php và sửa đổi đoạn mã sau bên trong phương thức boot[]

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
2

đó là nó. Bây giờ nó có thể tìm thấy bộ điều khiển. Nếu các tệp điều khiển của bạn ở nơi khác, bạn phải chỉ định đường dẫn trong không gian tên

Lưu ý ở đây rằng tôi đã thêm cờ –resource, cờ này sẽ xác định sáu phương thức bên trong GameController, cụ thể là

  1. Mục lục. [Phương thức index[] được sử dụng để hiển thị danh sách các trò chơi]
  2. Tạo ra. [Phương thức tạo [] sẽ hiển thị Biểu mẫu hoặc chế độ xem để tạo trò chơi]
  3. Cửa hàng. [Phương thức store[] được sử dụng để tạo trò chơi bên trong cơ sở dữ liệu. Ghi chú. phương thức tạo gửi dữ liệu biểu mẫu tới phương thức store[]]
  4. Trình diễn. [Phương thức show[] sẽ hiển thị một trò chơi cụ thể]
  5. Chỉnh sửa. [Phương thức edit[] sẽ hiển thị Form để chỉnh sửa game. Biểu mẫu sẽ được điền với dữ liệu trò chơi hiện có]
  6. Cập nhật. [Phương thức update[] được sử dụng để cập nhật trò chơi bên trong cơ sở dữ liệu. Ghi chú. phương thức edit[] gửi dữ liệu biểu mẫu tới phương thức update[]]
  7. Hủy hoại. [Phương thức hủy [] được sử dụng để xóa trò chơi đã chỉ định]

Theo mặc định, GameController. php được tạo bên trong thư mục ứng dụng >> Http >> bộ điều khiển

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
3

Bạn có thể thấy rằng tệp chứa các thao tác CRUD ở dạng các chức năng khác nhau. Chúng tôi sẽ sử dụng từng chức năng này để tạo các hoạt động thô

Cờ –resource sẽ gọi phương thức resource[] nội bộ của Laravel để tạo các route sau. Bạn có thể kiểm tra danh sách tuyến đường bằng lệnh sau

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
4

Bước 5. Xác định tuyến đường

Để xác định tuyến đường trong Laravel, bạn cần thêm mã tuyến đường bên trong routes >> web. tệp php

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
0

Bước 6. Định cấu hình Bootstrap trong Laravel 8

Laravel cung cấp giàn giáo Bootstrap và Vue nằm trong gói Trình soạn thảo laravel/ui, có thể được cài đặt bằng Trình soạn thảo

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
1

Khi gói laravel/ui đã được cài đặt, bạn có thể cài đặt dàn giáo giao diện người dùng bằng lệnh ui Artisan

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
2

Bây giờ, vui lòng chạy “npm install && npm run dev” để biên dịch giàn giáo mới của bạn

Bước 7. Tạo Chế độ xem trong Laravel 8

Chế độ xem chứa HTML do ứng dụng của bạn cung cấp và tách logic bộ điều khiển/ứng dụng của bạn khỏi logic trình bày của bạn. Lượt xem được lưu trữ trong thư mục tài nguyên/lượt xem

Bên trong thư mục views, chúng ta cũng cần tạo một tệp bố cục. Vì vậy, chúng ta sẽ tạo tệp bên trong thư mục views có tên là layout. lưỡi. php. Thêm mã sau vào bố cục. lưỡi. tệp php

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
3

Trong thư mục resources >> views, tạo các tệp ba thanh sau

  1. tạo ra. lưỡi. php
  2. chỉnh sửa. lưỡi. php
  3. mục lục. lưỡi. php

Bên trong tạo. lưỡi. php, hãy viết đoạn mã sau

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
4

Trong đoạn mã này, chúng ta đã định nghĩa hành động, hành động này sẽ gọi phương thức store[] của phương thức của GameController. Hãy nhớ rằng, chúng tôi đã sử dụng bộ điều khiển tài nguyên

Bây giờ, chúng ta cần trả về chế độ xem tạo này từ phương thức create[] của GameController. Vì vậy, hãy viết đoạn mã sau bên trong phương thức create[] của GameController

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
5

truy cập https. //laravel8crud. kiểm tra/trò chơi/tạo hoặc http. //máy chủ cục bộ. 8000, và bạn sẽ thấy một cái gì đó như dưới đây

 

Bước 8. Thêm Quy tắc xác thực và lưu trữ dữ liệu

Trong bước này, chúng ta sẽ thêm Xác thực biểu mẫu Laravel. Bây giờ, hãy thêm GameController. php để nhập không gian tên của mô hình Trò chơi bên trong GameController. tệp php.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
6

Viết đoạn mã sau bên trong GameController. hàm store[] của file php

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
7

Chúng tôi sử dụng phương thức $request->validate[] để xác thực, phương thức này nhận một loạt các quy tắc xác thực. Các

Quy tắc xác thực[] là mảng kết hợp. Khóa sẽ là field_name và giá trị là quy tắc xác thực. Tham số thứ hai là một mảng tùy chọn cho thông báo xác thực tùy chỉnh. Các quy tắc được phân tách bằng dấu gạch ngang “. ”. Trong ví dụ này, chúng tôi đang sử dụng các quy tắc xác thực cơ bản nhất.

Nếu xác thực không thành công, nó sẽ chuyển hướng trở lại trang biểu mẫu với thông báo lỗi. Mặt khác, nếu quá trình xác thực vượt qua, nó sẽ tạo trò chơi mới và lưu nó vào cơ sở dữ liệu

Trong trường hợp có lỗi, chúng ta cần lặp qua các thông báo lỗi đó bên trong tệp tạo. lưỡi. php mà chúng tôi đã thực hiện

Nếu bạn để trống tất cả các trường trong biểu mẫu, bạn sẽ thấy thông báo lỗi như hình ảnh này

 

Chúng ta có thể thấy rằng chúng ta có lỗi, nhưng nếu chúng ta điền tất cả dữ liệu chính xác, bạn sẽ vẫn không lưu dữ liệu vào cơ sở dữ liệu do Ngoại lệ gán hàng loạt

Để ngăn Ngoại lệ gán hàng loạt, chúng ta cần thêm một mảng $fillable bên trong Trò chơi. mô hình php

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
8

Bây giờ, nếu bạn điền vào các trường biểu mẫu chính xác, nó sẽ tạo một hàng mới trong cơ sở dữ liệu

Bước 9. Hiển thị các trò chơi

Để hiển thị danh sách trò chơi, chúng ta cần viết mã HTML bên trong chỉ mục. lưỡi. tệp php. Nhưng trước đó, hãy viết hàm index[] của GameController. php để lấy mảng dữ liệu từ cơ sở dữ liệu

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel8crud
DB_USERNAME=root
DB_PASSWORD=root
9

Bây giờ, hãy viết đoạn mã sau bên trong chỉ mục. lưỡi. tệp php

php artisan migrate
0

Chúng tôi đã thêm hai nút chỉnh sửa và xóa để thực hiện các thao tác tương ứng

Bước 10. Hoàn thành Chỉnh sửa và Cập nhật

Để chỉnh sửa dữ liệu, chúng ta cần dữ liệu từ cơ sở dữ liệu. Thêm đoạn mã sau vào trong GameController. chức năng chỉnh sửa tệp php

php artisan migrate
1

Bây giờ, hãy tạo tệp mới bên trong thư mục chế độ xem có tên chỉnh sửa. lưỡi. php và thêm đoạn mã sau

php artisan migrate
2

Bây giờ, hãy truy cập trang chỉ mục và sau đó chuyển đến trang chỉnh sửa của một trò chơi cụ thể và bạn sẽ thấy Biểu mẫu có các giá trị được điền

Thêm mã sau vào hàm update[] của GameController

php artisan migrate
3

Bây giờ bạn có thể cập nhật tất cả dữ liệu vào cơ sở dữ liệu

Bước 11. Tạo chức năng xóa

Để xóa dữ liệu khỏi cơ sở dữ liệu, chúng ta sẽ sử dụng hàm destroy[] của GameController

php artisan migrate
4

Hàm xóa [] được cung cấp bởi Laravel để xóa dữ liệu khỏi Cơ sở dữ liệu

Tệp điều khiển hoàn chỉnh là đây

php artisan migrate
5

đó là nó. Bây giờ, bạn có thể tạo, đọc, cập nhật và xóa dữ liệu trong Laravel

Nếu bạn quan tâm đến FrontEnd Javascript framework như Vue with Laravel hoặc Angular with Laravel, hãy xem các hướng dẫn như Vue Laravel CRUD và Angular Laravel Tutorial Ví dụ

Tôi đã đặt toàn bộ mã hoạt động thô sơ trên Github để bạn cũng có thể kiểm tra nó

MÃ GITHUB

Facebook

Twitter

Pinterest

WhatsApp

Bài viết trước Cách xóa khoảng trắng khỏi chuỗi trong PHP

Bài viết tiếp theo Mảng PHP sang JSON. Cách sử dụng PHP json_encode[]

kranal

https. //appdividend. com/

Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến ​​thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end

Làm cách nào để cập nhật dữ liệu trong Laravel?

Chúng tôi 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. Chạy một câu lệnh cập nhật đối với cơ sở dữ liệu.

Làm cách nào để tạo hoặc cập nhật trong Laravel?

Nói chung, trong Laravel, chúng tôi sử dụng phương thức create[] để tạo dữ liệu mới và phương thức update[] để cập nhật dữ liệu của chúng tôi vào cơ sở dữ liệu. But there is a way to use both methods at a time like when it needs to create new data it uses the create[] method and to update the data it uses the update[].

Làm cách nào để cập nhật người dùng trong Laravel?

Làm cách nào để cập nhật tên và email của người dùng trong Laravel? .
Chuyển đến tài nguyên/lượt xem/trang chủ. lưỡi. php và viết đoạn mã sau. -
Sau đó, Xác định chức năng của profileupdate bên trong app/Http/Controllers/HomeController. .
Bây giờ, Đi đến tuyến đường/web. php và xác định tất cả các tuyến đường này và viết mã sau đây

Chủ Đề