Rate this post

Laravel Tinker cho phép bạn tương tác với cơ sở dữ liệu mà không cần tạo các Route. Laravel tinker được sử dụng với một nghệ nhân php để tạo các đối tượng hoặc sửa đổi dữ liệu. Php Artian là một giao diện dòng lệnh có sẵn với Laravel. Tinker là một công cụ lệnh hoạt động với một nghệ nhân php. Tinker chơi xung quanh cơ sở dữ liệu có nghĩa là nó cho phép bạn tạo các đối tượng, chèn dữ liệu, v.v.

Các bài viết liên quan:

Để vào môi trường Tinker, hãy chạy lệnh dưới đây:

php artisan tinker

Màn hình trên cho thấy môi trường tinker đã được tạo.

Tạo dữ liệu

  • Chúng ta có thể tạo các bản ghi trong bảng cơ sở dữ liệu bằng cách sử dụng công cụ dòng lệnh. Chúng tôi sử dụng câu lệnh sau trong công cụ dòng lệnh chèn dữ liệu trực tiếp vào bảng cơ sở dữ liệu:

$ post = App \ Post :: create ([‘title’ => ‘Akshay’, ‘body’ => ‘akshay is a software’]);

Đầu ra

Khi chúng ta thực hiện câu lệnh trên, dữ liệu sẽ được chèn vào một bảng bài viết. Chúng ta có thể xem dữ liệu được chèn trong phpMyAdmin được hiển thị trong ảnh chụp màn hình bên dưới:

Chúng ta cũng có thể sử dụng một cách khác để chèn dữ liệu bằng cách tạo một đối tượng.

  • Đầu tiên, chúng ta tạo đối tượng.

Trong màn hình trên, dòng được đánh dấu đang tạo đối tượng và tên của đối tượng là $ post. $ Post là đối tượng của lớp App \ Post.

Chúng ta cũng có thể xem liệu đối tượng $ post đã được tạo thành công hay chưa của một lớp nhất định bằng cách chỉ định tên của đối tượng trong một công cụ dòng lệnh.

Khu vực được đánh dấu ở trên cho thấy rằng đối tượng $ post đã được tạo thành công vì $ post hiển thị tên của lớp, App \ Post.

  • Sau khi tạo một đối tượng, chúng tôi sẽ chèn dữ liệu với sự trợ giúp của một đối tượng.

Trong màn hình trên, chúng ta đã gán các giá trị cho tiêu đề và nội dung của cột trong bảng bài đăng bằng cách sử dụng các câu lệnh $ post-> title và $ post-> body tương ứng. Tuy nhiên, dữ liệu vẫn chưa được chèn vào bảng. Để chèn dữ liệu vào bảng, chúng ta cần sử dụng câu lệnh dưới đây:

$ post-> save (); // Nó lưu các bản ghi trong một bảng cơ sở dữ liệu.

Khi chúng ta nhập $ post trong một công cụ dòng lệnh,

Khu vực được đánh dấu ở trên cho thấy rằng bản ghi được lưu trong bảng bài đăng

Hãy xem bảng bài viết trong phpMyAdmin

Tìm record

Chúng tôi có thể truy xuất các bản ghi từ cơ sở dữ liệu theo ba cách:

  • Cách đầu tiên là sử dụng phương thức find ().
  • Cách thứ hai là sử dụng ràng buộc, tức là mệnh đề where.

Trong màn hình trên, chúng ta đang truy xuất bản ghi, có ‘id’ bằng 1. Trong trường hợp này, chúng ta sử dụng phương thức first () vì phương thức first () được sử dụng để truy xuất bản ghi duy nhất.

Trong màn hình trên, chúng tôi đang truy xuất các bản ghi có id lớn hơn 1. Trong trường hợp này, nhiều hơn một bản ghi được tìm nạp, vì vậy chúng tôi sử dụng phương thức get (). Như phương thức get () được sử dụng khi một mảng bản ghi được truy xuất.

  • Cách thứ ba là sử dụng whereId ().

Cập nhật dữ liệu

Trong phần này, chúng ta sẽ học cách cập nhật dữ liệu trong cơ sở dữ liệu.

Chúng ta hãy hiểu thông qua một ví dụ.

  • Đầu tiên, chúng tôi tìm ra đối tượng mà chúng tôi muốn cập nhật.

Trong màn hình trên, chúng ta đã truy xuất bản ghi thứ hai và được lưu trữ trong một đối tượng $ post.

  • Bây giờ chúng tôi cập nhật giá trị của hai cột, tiêu đề và nội dung.
  • Để lưu bản ghi trong cơ sở dữ liệu, chúng tôi sử dụng phương thức save ().

Trong màn hình trên, phương thức save () trả về true, có nghĩa là bản ghi đã được cập nhật thành công trong cơ sở dữ liệu.

Xóa dữ liệu

Bây giờ, chúng ta sẽ xem cách xóa dữ liệu khỏi bảng cơ sở dữ liệu.

Chúng ta hãy hiểu thông qua một ví dụ.

  • Như chúng ta biết rằng $ post là một đối tượng chứa bản ghi thứ hai, đầu tiên, chúng ta áp dụng delete () trên đối tượng $ post.

Màn hình trên cho thấy phương thức delete () trả về giá trị true, có nghĩa là bản ghi đã bị xóa.

  • Bây giờ, chúng ta sẽ xem xét cơ sở dữ liệu xem bản ghi có id bằng 2 có thực sự bị xóa hay không.

Như chúng ta có thể quan sát từ ảnh chụp màn hình ở trên rằng bản ghi ‘id’ 2 vẫn có sẵn trong bảng, nhưng một ngày không phải là giá trị rỗng trong cột delete_at, có nghĩa là bản ghi này đã bị xóa mềm.

  • Để xóa hồ sơ vĩnh viễn,

Trong màn hình trên, chúng ta sử dụng $ post-> onlyTrashed () có nghĩa là đối tượng $ post chỉ chứa một bản ghi được chuyển vào thùng rác.

Để xóa vĩnh viễn bản ghi đã chuyển vào thùng rác, chúng tôi sử dụng phương thức forceDelete () trên đối tượng $ post.

Màn hình trên cho thấy rằng phương thức forceDelete () trả về một giá trị true, có nghĩa là bản ghi đã được xóa thành công khỏi bảng.

Hãy xem cơ sở dữ liệu:

Trong ảnh chụp màn hình ở trên, chúng tôi thấy rằng bản ghi của ‘id’ 2 bị xóa khỏi bảng bài đăng.

Mối quan hệ với tinker

Cho đến bây giờ, chúng tôi tìm thấy mối quan hệ bằng cách sử dụng các tuyến đường. Bây giờ, chúng ta sẽ xem mối quan hệ thông qua người thợ săn. Trong chủ đề mối quan hệ laravel, chúng tôi đọc mối quan hệ 1-1 với sự trợ giúp của các tuyến mà chúng tôi tìm thấy bài đăng thuộc về mọi người dùng. Bây giờ, chúng tôi tìm thấy bài đăng của mọi người dùng trong môi trường tinker.

Chúng ta hãy hiểu thông qua một ví dụ.

  • Đầu tiên, chúng tôi xem xét dữ liệu có sẵn trong cả bảng, người dùng và bảng bài đăng.

bảng người dùng

bảng bài viết

  • Trong bước này, chúng tôi sẽ tìm người dùng.

Trong ảnh chụp màn hình ở trên, chúng tôi quan sát thấy rằng đối tượng $ user chứa người dùng thứ hai, tức là bản ghi ‘id’ bằng 2 trong bảng ‘người dùng’.

  • Bây giờ, chúng ta triển khai phương thức posts () có sẵn trong mô hình Người dùng thông qua đối tượng $ user. Câu lệnh ‘$ user-> posts’ gọi phương thức posts của lớp Người dùng.

Màn hình trên cho thấy rằng câu lệnh ‘$ user-> posts’ lấy bài đăng của người dùng từ bảng ‘posts’.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now