学习内容
运用oil创建model,controller和model。以及建立表关系
创建model
首先配置DB
$ vi fuel/app/config/db.php
下面是我的db.php 文件的内容
return array(
'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=fuel_blog',
'username' => 'fuel',
'password' => '****'
)
)
);
但是配置的时候还要注意一个问题
在fuel/app/config下面会有两个文件夹:一个是development; 一个是production
项目中是有dev和production之分,如果没有指定是哪个环境的话, 默认是dev
然后再配置config.php,自动加载ormpackage
在app/config/config.php这个文件里面,
'packages' => array(
'orm',
)
创建model文件和migration文件
oil g model post title:varchar[100] summary:text content:text
这个时候会在migration目录下面生成migation文件
如果要把这个文件里面的创建数据表的语句起作用,需要用
oil r migrate
其他可以使用的参数可以参考这个 http://fuelphp.com/docs/packages/oil/generate.html 网站
创建controller
oil g controller blog index view foo bar
或者可以直接创建scffolding
oil g scaffold blogs name:string age:integer weight:float blography:text
这样的一个命令会自动生成controller,action,model,以及views
配置mode之间关系
按照上面的办法创建两个mode,一个是user, 一个是post
user是用户表,post是blog内容表
这两个表的关系是一个用户有多个blog,一个blog属于user
一对多的关系配置方法,在fuel/app/classes/model/user.php中,追加如下代码
protected static $_has_many = array(
'posts' => array(
'key_to' => 'user_id',
)
)
user_id 是posts.user_id
一对一 的关系配置方法,在fuel/app/classes/model/post.ph,追加如下代码
protected static $_belongs_to = array(
'users' => array(
'key_from' => 'user_id',
)
)