yii2中的多表查詢

2021-07-15 14:26:02 字數 1598 閱讀 1440

資料庫

classe表:

create table `classe` (

`cid` int(11) not null auto_increment,

`cname` varchar(10) default null,

`tid` int(11) default null,

primary key (`cid`),

key `fk_id_class` (`tid`),

constraint `fk_id_class` foreign key (`tid`) references `teacher` (`tid`)

) engine=innodb auto_increment=73 default charset=utf8;

student表:

create table `student` (

`sid` int(11) not null auto_increment,

`sname` varchar(10) default null,

`cid` int(11) default null,

primary key (`sid`),

key `fk_id` (`cid`),

constraint `fk_id` foreign key (`cid`) references `classe` (`cid`)

) engine=innodb auto_increment=13 default charset=utf8;

teacher表:

create table `teacher` (

`tid` int(11) not null auto_increment,

`tname` varchar(10) default null,

primary key (`tid`)

) engine=innodb auto_increment=6 default charset=utf8;

使用gii生成相應的model模型

乙個classe對應多個student

public functiongetstudents()

乙個teacher對應多個classe
public functiongetclasses()
一對一:hasone(),引數同hasmany()方法
乙個classe只對應乙個教師
public functiongett()

乙個學生對應乙個classe
public functiongetclasse()

controller**:

// 查詢班級內所有學生

public function actionquerystudentforcid()

// 查詢教師管理的班級

public function actionqueryclassefortid()

Yii2 查詢條件

字串格式,例如 status 1 雜湊格式,例如 status 1,type 2 操作符格式,例如 like name test andfilterwhere between updated at oldtime,current andwhere between updated at oldtime...

yii2中查詢快取的使用和檢測

類似於閉包 建立在資料快取之上的特殊快取特性。用於快取資料庫查詢的結果。查詢快取需要建立乙個資料庫連線和乙個有效的cache應用元件。基本語法 result db cache function db 查詢快取可以用在dao和activerecord上 result customer getdb ca...

Yii2 中cookie的用法(2)

設定cookie phpsetcookie name larry time 3600 yii2 cookies add new yii web cookie name name value larry expire time 3600 建立名為 name 的cookie,賦值為 larry 並且規定...