Để sử dụng được Eloquent ORM lưu ý:
+ Tất cả các file phải được viết trong thư mục
app/models+ Các file model phải được kế thừa từ lớp
Eloquent Sử dụng Eloquent ORM trong Laravel Framework
Trước tiên mình sẽ tạo 1 file model có tên User.php với nội dung sau nhé:
1
2
3
| class User extends Eloquent { protected $table = 'users';} |
+ Khi model được định nghĩa là chúng ta có thể thao tác trên nó,và lớp model đều phải kế thừa từ lớp
+ Thuộc tính
+ Lưu ý rằng cột
Eloquent + Thuộc tính
$table sẽ khai báo bảng dữ liệu mà ta sẽ thao tác.+ Lưu ý rằng cột
updated_at và created_at nên được tạo tự động, nếu bạn không muốn nó tạo tự động ngày giờ thì bạn có thề đưa thuộc tính $timestamps về false nhé.1.Lấy dữ liệu
a. Lấy tất cả dữ liệu trong bảng
users:
1
2
3
4
5
6
| $users = User::all();foreach ($user as $row){ echo $row->name.'';} |
b. Lấy 1 dòng dữ liệu thông qua khóa chính:
1
2
| $user = User::find(1);echo $user->name; |
– Nếu không lấy được dữ liệu nào trả về từ khóa chính này thì kết quả sẽ là
– Đề đăng ký xử lý lỗi thì ta phải kích hoạt ModelNotFoundException
NULL– Đề đăng ký xử lý lỗi thì ta phải kích hoạt ModelNotFoundException
1
2
3
4
5
| use Illuminate\Database\Eloquent\ModelNotFoundException;App::error(function(ModelNotFoundException $e){ return Response::make('Not Found', 404);}); |
c.Truy vấn sử dụng Eloquent Models
1
2
3
4
5
| $users = User::where('id', '>', 100)->take(10)->get();foreach ($users as $user){ var_dump($user->name);} |
d. Bạn cũng có thể sử dụng hàm trong query builder
1
| $count = User::where('id', '>', 100)->count(); |
+ Phương thức
count() sẽ trả về tống số dòng tìm thấy phù hợp với câu điều kiên (id > 100)2.Thêm dữ liệu (Insert)
a. Đề tạo một record mới trong bảng CSDL, đơn giản bạn tạo một thực thể của model và gọi phương thức
save
1
2
3
| $user = new User;$user->name = 'Nobita';$user->save(); |
b. Sử dụng phương thức Create
1
2
3
4
5
6
7
8
| // Create a new user in the database...$user = User::create(array('name' => 'John'));// Retrieve the user by the attributes, or create it if it doesn't exist...$user = User::firstOrCreate(array('name' => 'John'));// Retrieve the user by the attributes, or instantiate a new instance...$user = User::firstOrNew(array('name' => 'John')); |
3.cập nhật dữ liệu (Update)
a. Đề cập nhật một Model, bạn có thể truy vấn nó, thay đổi thuộc tính và lưu nó lại thông qua khóa chính
1
2
3
| $user = User::find(1);$user->name = 'Nobita';$user->save(); |
b. Đôi khi bạn muốn lưu không chỉ nó, mà toàn bộ những gì liên quan tới nó thì bạn sử dụng phương thức
push
1
| $user->push(); |
c. Bạn có thể chạy câu lệnh update để truy vấn model theo điều kiện
1
| $affectedRows = User::where('id', '>', 100)->update(array('status' => 2)); |
4.Xóa dữ liệu (Delete)
a. Để xóa một record, đơn giản bạn gọi phương thức
delete dựa vào khóa chính của dữ liệu
1
2
| $user = User::find(1);$user->delete(); |
b. Xóa bằng khóa
1
2
3
| User::destroy(1);User::destroy(array(1, 2, 3));User::destroy(1, 2, 3); |
c. Tất nhiên, bạn cũng có thể xóa theo kiểu query
1
| $affectedRows = User::where('id', '>', 100)->delete(); |



Nhận xét
Đăng nhận xét