- vừa được xem lúc

Laravel find() - Dùng theo 1 cách khác

0 0 16

Người đăng: Cong Thanh

Theo Viblo Asia

1. Giới thiệu

Bài viết này mình xin giới thiệu với các bạn 1 phương thức có sẵn của Laravel là find() và các cách sử dụng find() một cách hiệu quả nhất.

2. Các tham số của phương thức find()

Phương thức find($id, $columns = ['*']) có 2 tham số và yêu cầu tối thiểu 1 tham số khi sử dụng:

  • $id: Giá trị cột khóa chính primary_key bạn muốn tìm, có thể truyền 1 hoặc 1 mảng các giá trị.
  • $columns: Các cột muốn truy vấn (mặc định giá trị $columns sẽ là tất cả các cột *).

Giá trị trả về: nếu truyền $id là 1 mảng thì kết quả sẽ là 1 mảng các bản ghi có khóa chính nằm trong mảng $id và ngược lại thì chỉ trả về kết quả là 1 bản ghi có khóa chính bằng $id.

Source code của phương thức find().

/** * Find a model by its primary key. * * @param mixed $id * @param array $columns * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static[]|static|null */
public function find($id, $columns = ['*'])
{ if (is_array($id) || $id instanceof Arrayable) { return $this->findMany($id, $columns); } return $this->whereKey($id)->first($columns);
}

Ví dụ:

$post = Post::find(1, ['id', 'title', 'url']);
$postIds = [1, 2, 3];
$posts = Post::find($postIds, ['id', 'title', 'url']);

3. Các phương thức khác liên quan

Ngoài phương thức find() thì laravel còn cung cấp thêm các phương thức khác:

  • findMany($ids, $columns = ['*']): Tìm nhiều bản ghi theo mảng khóa chính $ids.
  • findOrFail($id, $columns = ['*']): Tìm bản ghi theo $id nếu không tìm thấy thì trả về exception.
  • findOrNew($id, $columns = ['*']): Tìm bản ghi theo $id nếu không tìm thấy thì tạo mới 1 instance của model.

4. Tham khảo

5. Lời kết

Trên website Laravel đã có đầy đủ hướng dẫn chi tiết về tất cả các phương thức mà laravel hỗ trợ ngoài ra còn có trang github source Laravel các bạn có thể đọc thêm cũng như thử nghiệm nhiều trường hợp để có thể sử dụng chúng một cách hiệu quả đúng trường hợp nhất nhé.

Hi vọng chia sẻ này sẽ giúp các bạn newbie 1 phần nào trong quá trình tìm hiểu về Laravel. Nếu thấy hữu ích hãy cho mình 1 vote 👍 để thêm nhiều người biết đến chia sẻ này nhé.

Mình là Công Thành cám ơn các bạn đa theo dõi bài viết của mình, nếu có câu hỏi nào vui lòng bình luận phía dưới 👇 nhé.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 335

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 420

- vừa được xem lúc

Sử dụng Swagger để xây dựng API documentation

Giới thiệu về Swagger. RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource.

0 0 1k

- vừa được xem lúc

Ví dụ CRUD với Laravel và Vuejs.

1. Cài đặt Laravel. composer create-project --prefer-dist laravel/laravel vuelaravelcrud. .

0 0 140

- vừa được xem lúc

Một số tips khi dùng laravel (Part 1)

1. Show database query in raw SQL format. DB::enableQueryLog(); // Bật tính năng query logging. DB::table('users')->get(); // Chạy truy vấn bạn muốn ghi log.

0 0 69

- vừa được xem lúc

Inertiajs - Xây dựng Single Page App không cần API

Tiêu đề là mình lấy từ trang chủ của https://inertiajs.com/ chứ không phải mình tự nghĩ ra đâu nhé :v. Lâu lâu rồi chưa động tới Laravel (dự án cuối cùng mình code là ở ver 5.8), thế nên một ngày đẹp trời lượn vào đọc docs ver 8.

0 0 227