Skip to main content

Model trong Laravel

 -Trong bài trước mình đã hướng dẫn mọi người truy vấn CSDL với Query Builder trong Laravel. Bài này mình tiếp tục giới thiệu đến mọi người một phần khá là quan trọng trong mô hình MVC đó chính là Model.

1, Tạo Model trong Laravel.

-Cũng giống như trong Controllers, model của chúng ta cũng có hai các tạo là thủ công và bằng lệnh mà Laravel hỗ trợ.

a) cách 1: Tạo 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: Tôi tạo một model News.php trong App/ của Laravel.

php
copy
<?php namespace App; use Illuminate\Database\Eloquent\Model; class News extends Model { }

b) Cách 2: Tạo bằng lệnh Laravel cung cấp sẵn.

-Mình khuyến khích các bạn dùng cách này 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
copy
php artisan make:model News

Hoặc

php
copy
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( nói ở bài sau).

-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
copy
<?php namespace App; use Illuminate\Database\Eloquent\Model; class News extends Model { // }

-Như thế chúng ta thấy cách này khá là nhanh và không cần phải code mấy dòng code thủ công như cách 1 nữa đúng không?

2,Khai báo các thông số tùy chỉnh.

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.

php
copy
protected $table = 'tableName';

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

php
copy
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.

php
copy
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.

php
copy
public $timestamps = true; // hoặc public $timestamps = false;

3, Lời kết.

-Qua phần giới thiệu cơ bản về Model trong Laravel của mình, mình hi vọng mọi người sẽ lắm rõ được model trong Laravel hoặc động như thế nào và cách cấu hình nó như thế nào. Phần sau mình sẽ hướng dẫn mọi người truy vấn dữ liệu với ORM trong Laravel.

Copy from: https://toidicode.com/model-trong-laravel-12.html

Comments

Popular posts from this blog

Docker Compose: Node.js Express and MongoDB example

  Docker   provides lightweight containers to run services in isolation from our infrastructure so we can deliver software quickly. In this tutorial, I will show you how to dockerize Nodejs Express and MongoDB example using   Docker Compose .

MUI dialog make sure user can't click on outside when you're opening dialog

< Dialog       open = { open }       onClose = { ( _event , reason ) => {         if ( reason === "backdropClick" || reason === "escapeKeyDown" ) {           return ;         }         onClose ?.();       } }       maxWidth = { maxWidth }       fullWidth       PaperProps = { {         className : "rounded-lg shadow-lg" ,       } }       disableEscapeKeyDown     > { if (reason === "backdropClick" || reason === "escapeKeyDown") { return; } onClose?.(); }} maxWidth={maxWidth} fullWidth PaperProps={{ className: "rounded-lg shadow-lg", }} disableEscapeKeyDown >

HƯỚNG DẪN THIẾT KẾ WEB CHUẨN SEO

  Hướng dẫn thiết kế web chuẩn seo .  Thế nào là thiết kế web chuẩn seo? Tại sao bạn cần phải biết thiết kế web chuẩn seo. Bởi vì, chuẩn seo là một phần rất quan trọng của một trang thiết kế web. Bạn muốn tìm được khách hàng? Muốn từ khóa bạn nhanh lên TOP thì điều đầu tiên bạn cần làm là trang web của bạn được thiết kế chuẩn seo. Không chỉ chuẩn seo về trang web mà bài viết cũng cần được tối ưu hóa cho chuẩn seo. Có bao nhiêu yếu tố để thiết kế được trang web chuẩn seo?