国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Eloquent ORM 學習筆記

2019-11-15 02:01:46
字體:
來源:轉載
供稿:網友
Eloquent ORM 學習筆記

  最近在學習Laravel,覺得ORM功能很強大,我這里只是簡單探索了一點,如果有更好的筆記,還請分享。

  因為重點在于Eloquent ORM,所以路由設置,控制器就不詳細描述了,這里直接進入Models么模塊。

  1.數據庫準備(MySQL

  在這里需要創建users和users_ext兩張表,并初始化數據:  

 1 CREATE TABLE 2 IF NOT EXISTS users ( 3     iAutoId INT (11) NOT NULL AUTO_INCREMENT, 4     sNmame VARCHAR (20), 5     iStatus TINYINT (4), 6     iCreateTime INT (11), 7     PRIMARY KEY (iAutoId) 8 ) ENGINE = INNODB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; 9 10 INSERT INTO users (sNmame, iStatus, iCreateTime)11 VALUES12     ('test1', 1, 1400085387),13     ('test2', 1, 1400085387),14     ('test3', 1, 1400085387),15     ('test4', 1, 1400085387),16     ('test5', 1, 1400085387),17     ('test6', 1, 1400085387);18 19 CREATE TABLE20 IF NOT EXISTS users_ext (21     iAutoId INT (11) NOT NULL AUTO_INCREMENT,22     iAge DECIMAL (3, 0),23     sSex TINYINT (4),24     iUserID INT (11),25     PRIMARY KEY (iAutoId)26 ) ENGINE = INNODB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;27 28 INSERT INTO users_ext (iAge, sSex, iUserID)29 VALUES30     (24, 1, 1),31     (109, 0, 2),32     (25, 1, 3),33     (20, 1, 5),34     (68, 0, 4),35     (48, 1, 6);

  2.配置數據庫

  在database.php中添加數據庫配置:

  

 1 <?php 2  3 return [ 4  5     'fetch' => PDO::FETCH_CLASS, 6  7     'default' => 'user', 8  9     '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 <?php2 3 class UserModel extends /Eloquent {4     protected $table = 'users';5     protected $primaryKey = 'iAutoID';6     protected $connection = 'user';7 }

  這樣一個User模型就創建成功了,代碼很簡單。至于其中成員變量的含義,相信都能看得懂,依次代表的是表名稱、主鍵、數據庫連接標識(配置文件中的)。

  5.使用UserModel

  現在你可以在任何地方使用了。控制器,路由里面都可以用。下面就在做個簡單的列子:

  現在有查詢語句:  

 1 SELECT 2     users.sNmame, 3     users.iCreateTime, 4     users_ext.iAge, 5     users_ext.sSex 6 FROM 7     users 8 LEFT JOIN users_ext ON users.iAutoId = users_ext.iUserID 9 WHERE10     users.iStatus = 111 AND users_ext.sSex = 012 ORDER BY13     users.iCreateTime14 LIMIT 0,15  1

  

  這里是簡單的一個查詢語句,接下來就以ORM的形式實現:

1 public function getUsers(){2 3         $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();5         var_dump($resData->toArray());6         exit();7 }

  

  下面是查詢結果:

  

  ok ,以上只是對查詢做了一個簡單的例子,還有很多需要研究,比如模塊之間的關聯等等。

  

  

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉木乃县| 盐津县| 新疆| 阜城县| 山阳县| 阳曲县| 额济纳旗| 隆安县| 大化| 武威市| 威远县| 芷江| 彭泽县| 盐津县| 康保县| 嵩明县| 津南区| 济阳县| 瓮安县| 上虞市| 辽宁省| 伊春市| 满城县| 唐海县| 弥渡县| 张家界市| 阳谷县| 辽中县| 云安县| 贡山| 南溪县| 康平县| 玉林市| 麦盖提县| 德惠市| 衡阳县| 泸州市| 桃源县| 通江县| 疏勒县| 阿坝|