日期:2014-05-17  浏览次数:20502 次

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’)实例化