Giải pháp chuyển đổi số trọn gói cho doanh nghiệp Việt

Eloquent ORM trong Laravel - Tài liệu lập trình laravel

Tài liệu lập trình laravel

← Toàn bộ tài liệu


Bài 12: Eloquent ORM trong Laravel

Bài 12/28 Xem dạng sách

-Bài trước mình đã giới thiệu với mọi người cách tạo Model cũng như cách cấu hình Model, nhưng chưa được ứng dụng vào thực tế ,Thì bài này mình sẽ hướng dẫn mọi người truy vấn cơ sở dữ liệu trong Model với Eloquent ORM của Laravel.

 

1,Cách gọi Model.

 

-Để gọi Model trong Controllers thì bắt buộc chúng ta phải gọi namespace của model đó trong Controllers.

  • VD: mình muốn gọi Model news trong homecontroller.
php
copy
<?php

namespace App\Http\Controllers;

use App\News;

class homecontroller extends Controller
{
   News::all();
}

Hoặc

php
copy
<?php

namespace App\Http\Controllers;

use App;

class homecontroller extends Controller
{
   App\News::all();
}

-Còn nếu muốn gọi model trong Route thì các bạn không cần gọi namespace mà các bạn có thể dùng luôn với cú pháp.

php
copy
App\TenModel::someThing;

VD: mình muốn gọi Model news trong route.

php
copy
App\News::all();

2, Các câu truy vấn hay dùng trong Eloquent ORM.

 

-Chú ý: Tất cả các cú pháp dưới đây mình lấy News model Làm mẫu nhé

Lấy ra dữ liệu trong bảng.

-Lấy ra tất cả dữ liệu trong bảng.

php
copy
News::all();

-Lấy ra một dòng dữ liệu thông qua khóa chính.

php
copy
News::find(1);

Hoặc

php
copy
News::take(1)->get();

-Truy vấn điều kiện.

+Bằng:

php
copy
News::where('id', 5)->get();

+Lớn hơn, nhỏ hơn,.. (giống Query Buider)

-Chọn cột dữ liệu.

php
copy
News::select('id', 'title')->get();

-Đếm dữ liệu.

php
copy
News::all()->count();

Thêm dữ liệu.

php
copy
$news = new News();
$news->title = "tin tức 1";
$news->categoryId = 1;
$news->save();

-Ở trên mình đã thêm vào cột title nội dung là 'tin tức 1' và cột categoryId là 1.

Sửa dữ liệu.

-Ví Dụ mình muốn sửa tiêu đề của bảng news có id =1.

php
copy
$news = News::find(1);
$news->title = 'toidicode.com';
$news->save();

Hoặc

php
copy
News::where('id', 1)->update(['title' => 'toidicode.com']);

Xóa

-Cách 1:

php
copy
$news= News::find(1);
$news->delete();

-Cách 2:

php
copy
News::destroy(1);
//or
News::destroy(1, 2);
//or
News::destroy([1, 2, 3]);
//or
News::destroy(array(1, 2, 3));

-Trong đó: 1, 2, 3 là các id(primary) của bảng cần truy vấn.

-Cách 3:

php
copy
News::where('id', 1)->delete();

3, Lời kết.

-Phần trên mình đã trình bày cho các bạn về Eloquent ORM trong Laravel rồi, đây là một phần cũng rất là quan trọng trong project nên mình mong các bạn cố gắng đọc cho kĩ để hiểu hơn về nó.  

Sơ đồ quan hệ các bảng

Table Name: {{table.name}}
Num Name Type
{{field_index+1}}
{{field.name}} {{field.type}}

Hỏi đáp

Gửi với tên {{comment_full_name}}

Chưa có câu hỏi nào cho bài này.

Zalo 0936.006.058 Hotline 0936.006.058