Yii框架中,model里的文件有命名规则吗?
如题,是和数据库表的名字对应吗。还是说如果控制器有一个UserController.php,也要相应的建立一个User.php的model文件呢?有什么路由规则吗我看了一...
如题,是和数据库表的名字对应吗。还是说如果控制器有一个UserController.php,也要相应的建立一个User.php的model文件呢?有什么路由规则吗
我看了一个视频教程,里面有一个数据库的表为sw_goods,然后他就建了一个名为Goods.php的文件,这个文件是这样写的:
class Goods extends CActiveRecord{
public static function model($className=_CLASS_){
return parent::model($className);
}
public function tableName(){
return {{goods}}; /*他在配置里已经定义好表前缀了 ‘tablePrefix’=>sw_ */
}
}
然后控制器中的有函数调用:
funciton actionShow(){
$goods_model=Goods::model;
}
我想问的是,控制器创建Goods对象$goods_model后,这个对象是怎么链接到对应的sw_goods表的?是Yii框架自动完成的吗?它会把Goods的类文件名与表前缀进行组合然后生成一个表名吗? 展开
我看了一个视频教程,里面有一个数据库的表为sw_goods,然后他就建了一个名为Goods.php的文件,这个文件是这样写的:
class Goods extends CActiveRecord{
public static function model($className=_CLASS_){
return parent::model($className);
}
public function tableName(){
return {{goods}}; /*他在配置里已经定义好表前缀了 ‘tablePrefix’=>sw_ */
}
}
然后控制器中的有函数调用:
funciton actionShow(){
$goods_model=Goods::model;
}
我想问的是,控制器创建Goods对象$goods_model后,这个对象是怎么链接到对应的sw_goods表的?是Yii框架自动完成的吗?它会把Goods的类文件名与表前缀进行组合然后生成一个表名吗? 展开
2个回答
展开全部
不是。
首先来讲在一个叫Test的model中
public function tableName() {
return '{{user}}';
}
他对应的就是user表。即tableName对应表名称。
而控制器中可以引用任意model。这些model都是在main.php配置文件中引入的。
所以控制器和模型没有必然的关系。yii生成只是为了生成有规律设置的。
追问
谢谢您的回答,我发了一个补充提问,您能在解答一下吗
追答
你还是没有懂我给你回答的内容。
既然都通过tableName把模型和数据库中的表进行连接了,那肯定是yii自己通过这些配置生成的。多看一下yii自带的例子。
2014-02-26
展开全部
就是一种 称谓 亲切 而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询