如题,是和数据库表的名字对应吗。还是说如果控制器有一个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}};
}
}
然后控制器中的有函数调用:
funciton actionShow(){
$goods_model=Goods::model;
}
我想问的是,控制器创建Goods对象$goods_model后,这个对象是怎么链接到对应的sw_goods表的?是Yii框架自动完成的吗?它会把Goods的类文件名与表前缀进行组合然后生成一个表名吗?
Yii框架中,model里的文件有命名规则吗?
答案:2 悬赏:40
解决时间 2021-03-14 08:39
- 提问者网友:他是我的あ男人
- 2021-03-13 20:32
最佳答案
- 二级知识专家网友:萝莉姐姐鹿小北
- 2021-03-13 21:00
不是。
首先来讲在一个叫Test的model中
public function tableName() {
return '{{user}}';
}他对应的就是user表。即tableName对应表名称。
而控制器中可以引用任意model。这些model都是在main.php配置文件中引入的。
所以控制器和模型没有必然的关系。yii生成只是为了生成有规律设置的。
首先来讲在一个叫Test的model中
public function tableName() {
return '{{user}}';
}他对应的就是user表。即tableName对应表名称。
而控制器中可以引用任意model。这些model都是在main.php配置文件中引入的。
所以控制器和模型没有必然的关系。yii生成只是为了生成有规律设置的。
全部回答
- 1楼网友:ー何必说爱
- 2021-03-13 21:45
要讲原理可能要讲cmodel是怎么实现的,以及在application中如何引入的。来打开代码具体看看。
其实可以放在学习了from和数据相关的model之后来分析原理,可能理解的更深入,但是打开cmodel细细分析了解一下,会对后期的相关知识的学习更快速,因为通过类的代码注释,我们就看到了接下来类的使用和这些功能具体的定义。我想看明白了,就不需要再讲接下来的model的使用,完全可以自己了解和掌握。
在controller可以直接使用model,而不用include源于框架的autoload。具体的代码。
至于model一些超常特性,源于他爹。这世道,有啥,不如有个好爹,尤其是在zg。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯