-2

これを行う方法がわかりません。別のテーブルの ID に基づいてカテゴリの名前を取得するには、セカンダリ テーブルにクエリを実行する必要があります。すべて動的に。

を試しましhasmanyたが、hasone何も動作しませんでした。ここで私が得たもの

私は2つのテーブルを持っています:

Advertisments id | adname | adsite_id    
adsite_id == adsites.id

adsites
id | name

広告のテーブルを表示しようとしており、adsite_id を adsite.name の名前に置き換えています。

私はこれを理解することはできません。

広告コントローラー:

function index() { $this->set('ads', $this->Advertisment->find('all')); }

4

2 に答える 2

0

この場合は を使用する必要があります$belongsTo

モデル : Advertisments.php

class Advertisment extends AppModel {
    public $belongsTo = array(
        'Adsite' => array(
            'className' => 'Adsite',
            'foreignKey' => 'adsite_id'
        )
    );
}

モデル : Adsites.php

class Adsite extends AppModel {
    public $hasOne = 'Advertisment';
}

コントローラーAdvertismentsController.php

function index() { 
     $this->set('ads', $this->Advertisment->Adsite->find('all')); 
}

これはうまくいくはずです。

于 2013-11-03T23:43:50.943 に答える