在用ThinkPHP的关联查询时,遇到了一个这样的提示:“Model:relation您所请求的方法不存在”。到ThinkPHP论坛搜索了一下,发现有6个相关的帖子,不过最新的5个都不沾边。只有最早的一个,是管理员回复的,有点参考价值,呵呵。
我要做的是新闻表关联新闻分类表,模型代码如下:
- php
- //天涯PHP博客 http://blog.phpha.com
- class NewsModel extends RelationModel{
- //关联分类表
- public $_link = array(
- 'profile' => array(
- 'mapping_type' => BELONGS_TO,
- 'class_name' => 'Ncat',
- 'foreign_key' => 'cid'
- ),
- );
- }
- ?>
天涯PHP博客[PHPHA.COM]
相关说明:首先要明确两者之间的关系,即每篇新闻都有一个分类,因此为BELONGS_TO;其次,有一点比较重要的是,这里的模型类的父类应该是 RelationModel 而不是 Model ,否则不会成功的;接下来,还有一点要注意,在新闻模块(NewsAction)中,注意查询时的实例化要用方法 D() 而不是 M() 。