Trong những bài trước bạn đã biết được sự kết nối giữa View – Controller. Nhưng đang còn thiếu Model để đủ trong mô hình MVC. Vì thế bài viết này bạn sẽ biết cách lấy dữ liệu từ Database với Model trong Laravel với những đoạn lệnh đơn giản.

Xem lại Laravel Framework là gì? Hướng dẫn cài đặt Laravel để kết nối Cơ sở dữ liệu Database

Bước 1: Tạo cơ sở dữ liệu tên là data

csdl

Nhấp vào tab MySQL => Tạo một bảng là member với các cột id, username, password

CREATE TABLE IF NOT EXISTS `member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(15) NOT NULL,
`password` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1 ;

csdl-1

Tiếp theo thêm dữ liệu bằng INSERT INTO (Đừng quên ấn Thực hiện nhé!)

INSERT INTO member (username, password)
VALUES ('admin', '123456')

csdl-2

Bước 2: Đến đây bạn sẽ viết mã trong BlogModel.php như sau (Đường dẫn chứa Model truy cập theo E:\xampp\htdocs\thu_muc_laravel\app\Models)

<?php

namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use DB;
class BlogModel extends Model
{
    public static function getuserData(){
    $value=DB::table('member')->get();
    return $value;
  }

}

Hoặc bạn có thể tạo Model bằng cách sử dụng Migration

Mở CMD trên máy tính gõ lần lượt các lệnh sau:

cd C:\xampp\htdocs\thu_muc_laravel

php artisan make:model BlogModel

Sau khi tạo xong vào đường dẫn thư mục để xem.

Bắt buộc phải thêm:

  • namespace App\Models;
  • use Illuminate\Database\Eloquent\Model;
  • use DB;

Nó sẽ lấy dữ liệu ở trong bảng member

Bước 3: Viết code cho BlogController.php kết nối với Model thông qua đoạn mã DB::table

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Models\BlogModel;

class BlogController extends Controller {
   	public function index(){
        $userData = BlogModel::getuserData();
    	return view('home')->with('viewdata', $userData);
    }
}

Bắt buộc phải thêm:

  • use App\Models\PostModel; và 4 dòng ở trên

Bước 4: Tạo tập tin home.blade.php tại Views

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Ví dụ</title>
</head>
<body>
@foreach($viewdata as $data)
   {{ $data->id }} <br>
   {{ $data->username }} <br>
   {{ $data->password }}
@endforeach
</body>
</html>

Như vậy qua bài này bạn đã được tìm hiểu về Model trong Laravel và cách làm thế nào để show data ra màn hình máy tình rồi.

Nếu như làm xong hết các viết trên mà vẫn không hiện dữ liệu ra database thì còn thiếu định tuyến route. Bạn cần đọc lại bài Kết nối Controller và View trong Laravel nhé!

Cùng chủ đề

Bình luận!

Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *