读书人

ThinkPHP关联查询有关问题

发布时间: 2013-01-01 14:04:19 作者: rapoo

ThinkPHP关联查询问题
我用的是最新的2.0版 在MODEL中写好了关联定义
现在要在控制器里查数据
用手册里说的relation(true)方法但是提示错误:Model:relation您所请求的方法不存在

怎么回事呢?请帮我解答,谢谢大家啦
源码

关联定义(MODEL中)
public $_link =array(
'lyType'=>array(
'maping_type'=>HAS_ONE,
'class_name'=>'lyType',
'foregin_key'=>'typeId',
),


关联查询(控制器中)
$ly=new lyModel();
$list=$ly->relation(true)->find(1);


错误提示:
Model:relation您所请求的方法不存在
[解决办法]
$ly=new lyModel();
new LyModel()
[解决办法]
class UserModel extends RelationModel

继承 RelationModel 类


/**
+----------------------
* 进行关联查询
+----------------------
* @access public
+----------------------
* @param mixed $name 关联名称
+----------------------
* @return Model
+----------------------
*/
public function relation($name) {
$this->options['link'] = $name;
return $this;
}


[解决办法]
1. 声明类

class NewsModel extends RelationModel
{

}

2. 查询

$News = D('News');
$data = $News->Relation(true)->find();
dump($data);
[解决办法]
用D('News')或者m('New',‘RalationModel’)实例化

读书人网 >PHP

热点推荐