摘自:http://www.cnblogs.com/brudeke/p/4227711.html
最近在学习Laravel,觉得ORM功能很强大,我这里只是简单探索了一点,如果有更好的笔记,还请分享。
因为重点在于Eloquent ORM,所以路由设置,控制器就不详细描述了,这里直接进入Models么模块。
1.数据库准备(Mysql)
在这里需要创建users和users_ext两张表,并初始化数据:
CREATE TABLE
IF NOT EXISTS users (
iAutoId INT (11) NOT NULL AUTO_INCREMENT,
sNmame VARCHAR (20),
iStatus TINYINT (4),
iCreateTime INT (11),
PRIMARY KEY (iAutoId)
) ENGINE = INNODB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;
INSERT INTO users (sNmame, iStatus, iCreateTime)
VALUES
('test1', 1, 1400085387),
('test2', 1, 1400085387),
('test3', 1, 1400085387),
('test4', 1, 1400085387),
('test5', 1, 1400085387),
('test6', 1, 1400085387);
CREATE TABLE
IF NOT EXISTS users_ext (
iAutoId INT (11) NOT NULL AUTO_INCREMENT,
iAge DECIMAL (3, 0),
sSex TINYINT (4),
iUserID INT (11),
PRIMARY KEY (iAutoId)
) ENGINE = INNODB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;
INSERT INTO users_ext (iAge, sSex, iUserID)
VALUES
(24, 1, 1),
(109, 0, 2),
(25, 1, 3),
(20, 1, 5),
(68, 0, 4),
(48, 1, 6);
2.配置数据库
在database.php中添加数据库配置:
1 PDO::FETCH_CLASS,67'default' => 'user',89'connections' =>[10'user' =>[11'driver' => 'mysql',12'host' => 'localhost:3306',13'database' => 'test',14'username' => 'root',15'password' => 'root',16'charset' => 'utf8',17'collation' => 'utf8_unicode_ci',18'prefix' => '',19],20]21];
3.创建UserModel
在app\models下创建UserModel.php
1
这样一个User模型就创建成功了,代码很简单。至于其中成员变量的含义,相信都能看得懂,依次代表的是表名称、主键、数据库连接标识(配置文件中的)。
5.使用UserModel
现在你可以在任何地方使用了。控制器,路由里面都可以用。下面就在做个简单的列子:
现在有查询语句:
1SELECT2users.sNmame,3users.iCreateTime,4users_ext.iAge,5users_ext.sSex6FROM7users8LEFTJOINusers_extONusers.iAutoId=users_ext.iUserID9WHERE10users.iStatus=111ANDusers_ext.sSex=012ORDERBY13users.iCreateTime14LIMIT0,151
这里是简单的一个查询语句,接下来就以ORM的形式实现:
1publicfunctiongetUsers(){23$select= 'users.sNmame,users.iCreateTime,users_ext.iAge,users_ext.sSex';4$resData= UserModel::selectRaw($select)->leftJoin('users_ext','users.iAutoId','=','users_ext.iUserID')->where('users.iStatus','=',1)->where('users_ext.sSex','=',0)->skip(0)->limit(1)->get();5var_dump($resData->toArray());6exit();7}
下面是查询结果:
ok ,以上只是对查询做了一个简单的例子,还有很多需要研究,比如模块之间的关联等等。
分类:Laravel
标签:Laravel
推荐排行榜
Copyright ©2017 brudeke