ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP 関連のクエリ関連の問題

ThinkPHP 関連のクエリ関連の問題

WBOY
WBOYオリジナル
2016-06-13 13:00:08804ブラウズ

ThinkPHP の関連付けクエリの問題
最新バージョン 2.0 を使用しており、MODEL
で関連付けの定義を記述しています 次に、コントローラー内のデータを確認する必要があります
マニュアルに記載されている relationship(true) メソッドを使用しますが、次のエラー メッセージが表示されます: Model:relation 要求したメソッドは存在しません

どうしたの?回答を手伝ってください。皆さん、ありがとう
ソースコード

アソシエーション定義 (MODEL 内)
public $_link =array(
'lyType'=>array(
'mapping_type'=>HAS_ONE,
'class_name'=>'lyType',
'foregin_key'=>'typeId',
)、


関連クエリ (コントローラー内)
$ly=new lyModel();
$list=$ly->relation(true)->find(1);


エラーメッセージ:
モデル:relation要求したメソッドは存在しません
------解決策----------------------
$ly =new lyModel();
new LyModel()
-----解決策---------
class UserModel extends RelationModel

RelationModel クラスを継承します

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

-----解決策--------
1. クラスを宣言します

クラス NewsModel は RelationModel
を拡張します {

}

2. クエリ

$ニュース = D('ニュース');
$data = $News->Relation(true)->find();
dump($data);
-----解決策---------
D(' ニュース') または m('New','RationModel') のインスタンス化

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。