Eloquent và QueryBuilder

Trong Laravel, có hai cách để truy vấn dữ liệu từ cơ sở dữ liệu: Eloquent ORM và Query Builder.

1. Eloquent ORM

Eloquent là một ORM (Object-Relational Mapping) được tích hợp sẵn trong Laravel, giúp chúng ta tương tác với cơ sở dữ liệu một cách dễ dàng thông qua các Model. Với Eloquent, chúng ta có thể truy vấn dữ liệu từ bảng và tương tác với chúng thông qua các Model như các đối tượng trong ngôn ngữ lập trình.

Ví dụ, để lấy tất cả các bản ghi trong bảng users, chúng ta có thể sử dụng:

$users = User::all();

Để lấy một bản ghi cụ thể trong bảng users với điều kiện id = 1, chúng ta có thể sử dụng:

$user = User::find(1);

Để lấy tất cả các bản ghi trong bảng users với điều kiện age > 18, chúng ta có thể sử dụng:

$users = User::where('age', '>', 18)->get();
  1. Query Builder

Query Builder là một API được tích hợp sẵn trong Laravel, cho phép chúng ta xây dựng các câu truy vấn SQL bằng cách sử dụng các phương thức của lớp Builder. Với Query Builder, chúng ta có thể truy vấn dữ liệu từ bảng và tương tác với chúng thông qua các câu truy vấn SQL.

Ví dụ, để lấy tất cả các bản ghi trong bảng users, chúng ta có thể sử dụng:

$users = DB::table('users')->get();

Để lấy một bản ghi cụ thể trong bảng users với điều kiện id = 1, chúng ta có thể sử dụng:

$user = DB::table('users')->where('id', 1)->first();

Để lấy tất cả các bản ghi trong bảng users với điều kiện age > 18, chúng ta có thể sử dụng:

$users = DB::table('users')->where('age', '>', 18)->get();

Cả Eloquent ORM và Query Builder đều cung cấp nhiều phương thức và tính năng để thực hiện các câu truy vấn phức tạp và tương tác với cơ sở dữ liệu. Tùy thuộc vào nhu cầu của dự án, chúng ta có thể lựa chọn sử dụng Eloquent hoặc Query Builder hoặc kết hợp cả hai để thực hiện các câu truy vấn và tương tác với cơ sở dữ liệu