Một phần khá là quan trọng trong mô hình MVC đó chính là Model. Vậy trong cách dùng Model trong Laravel như thế nào? chúng ta cùng tìm hiểu về nó nhé

Tạo Model trong Laravel.

Tạo Model trong Laravel theo cách thủ công.

-Để tạo một model có hiệu lực thì bắt buộc các bạn phải:

  • Đặt nó ở trong thư mục App/
  • Tên class bên trong file phải cùng với tên file. VD: file news.php thì phải có class là news.
  • Class vừa tạo phải kế thừa Model gốc của Laravel. VD: class news extends Model{...}
  • Để kế thừa thành công Model trong Laravel thì bắt buộc bạn phải khai báo sử dụng namespace Của Model gốc của Laravel và đồng thời khai báo namespace mới cho model vừa tạo.

VD: Chúng ta tạo một model News.php trongApp/của Laravel.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class News extends Model
{

}

Tạo bằng lệnh Laravel cung cấp sẵn.

-Theo mình thì chúng ta nên dùng cách này tối ưu hơn nhé.

-Tạo model bằng cách này thì khá là đơn giản. Các bạn chỉ cần mở cmd(commandline) lên và trỏ đến thư mục chứa project Laravel của các bạn và gõ lệnh.

php artisan make:model News

Hoặc

php arisan make:model News --migration

-Trong đó:

  • News là tên model, các bạn có thể chỉnh thành tên model các bạn muốn tạo.
  • Ở dòng thứ hai thì chúng ta cũng tạo được model nhưng đồng thời chúng ta sẽ được tạo luôn một file migration

-Sau đó enter và vào trong thư mục App/ bạn sẽ thấy có một file News.php trong đó và bên trong sẵn có đoạn code.

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class News extends Model
{
    //
}

Khai báo các thông số tùy chỉnh của model trong Laravel

Khai báo table cần sử dụng trong Model.

-Ở trong Laravel mỗi một model ứng với một bảng(table) dữ liệu trong CSDL và để khai báo model sử dụng bảng dữ liệu nào trong database thì mọi người khai báo dòng sau trong class model.

protected $table='tableName';

-Trong đó : tableName là tên table các bạn muốn sử dụng. Ví Dụ:

protected $table='tbl_user';

Lọc cột dữ liệu trong model.

-Trong laravel chẳng hạn như bảng user tôi chỉ muốn truy vấn cột username,useremail mà không muốn sử dụng cột passwork thì sau. Chính vì điều đó Laravel cũng đã cung cấp cho chúng ta một thông số là fillable để điều chỉnh các cột cần sử dụng.

protected $fillable = ['column1','column2',..,'columnn'];

Khai báo timestamps.

-Laravel cũng cung cấp cho chúng ta tùy biến có sử dụng time stamps hay không. Nếu để true là có và ngược lại false là không.

public $timestamps = true;

// hoặc

public $timestamps = false;

Viết câu trả lời

Drop Images

0 Bình luận