Trong bài này mình xin hướng dẫn đến các bạn CRUD trong Gii với Yii 2 frameworkCác bạn gọi đến đường dẫn sau đây: http://yii2advanded/backend/web/index.php?r=gii
Tạo bảng posts với các trường như sau:
Tạo quan hệ cho author_id với user_id ở bảng user ở bài trước bằng cách vào bảng posts click relation view
Xuống author_id chọn như trong ảnh:
Ta được quan hệ của 2 bảng như hình sau:
vào đường dẫn: http://yii2advanded/backend/web/index.php?r=gii để tạo module cho bảng posts:
Vào CRUD Generator để tạo các file Controller, View cho bảng posts với model là Posts vừa tạo nhé:
Kết quả đạt được sau khi tạo là:
Như vậy là bạn đã tạo thành công giờ bạn có thể tạo bài viết, update, view với bảng Posts rồi. Truy cập vào http://yii2advaned/backend/web/index.php?r=posts để test nhé.
Để xem chi tiết hơn mời các bạn xem video dưới đây
Thao tác với model trong Yii2 Framework, chúng ta sẽ tìm hiểu các kết nối database, các phương thức truy vấn, query với database như thế nào
Yii2 là một framework nổi tiếng được cộng đồng sử dụng rộng rãi, các phương thức truy vấn database tương đối nhiều, chúng ta sẽ đi tìm hiểu một số phương thức chính, hay được sử dụng nhất. Trước tiên thao tác với database thì ta cần phải kết nối cơ sở dữ liệu.
1. Kết nối với database Mở file common\config\main-local.php điền thông tin database của bạn vào
1
2
3
4
5
6
7
'db'=> [
'class'=> 'yii\db\Connection',
'dsn'=> 'mysql:host=localhost;dbname=yii2adv',
'username'=> 'root',
'password'=> '',
'charset'=> 'utf8',
],
2. Thao tác với model Trong Yii2 Framework model được đặt ở 3 folder bao gồm
- common\models : đây là phần model chung cho cả frontend và backend, đây cũng là nơi sẽ chứa các model chính mà mình hay sử dụng - frontend\models : model riêng cho frontend - backend\models : model riêng cho backend
Trong các dự án thì ta hay sử dụng common\models nhất, vì frontend và backend thường dùng chung một model khi thao tác với database
-\yii\db\ActiveRecordlà thư viện activerecord của Yii2 - function tableName() trả về tên của table trong database - function rules() khai báo các trường của table users, được dùng cho phần validate
Tạo function getListUsers() trong model users để lấy thông tin từ database
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* description get list users
* Author Ha Tuan Kiet(haanhdon@gmail.com)
* Date 12/02/2016
*/
publicfunctiongetListUsers()
{
$query= new\yii\db\Query();
$query->select('*')
->from(self::tableName())
->limit(10);
return$query->createCommand()->queryAll();
}
Trong controller khởi tạo model users , Lấy thông tin users và truyền qua view