1

これは私を夢中にさせています。私は次のようなことをしようとしています:

$this->data = $this->Prox->read('proxy',$currentgetdata); 
                    $this->data['Prox']['checked'] = 2;
                    $this->Prox->save();

ここで、次のモデルの関連付けがあります。

class Prox extends AppModel {
    var $name = 'Prox';
    var $primaryKey = 'id';
    ######## Define Model Associations #########
    var $belongsTo = array('Proxylink' => array('className' => 'Proxylink'));
}

しかし、次のエラーが表示されます。

SELECT `Prox`.`proxy` FROM `proxes` AS `Prox` LEFT JOIN `proxylinks` AS `Proxylink` ON (`Prox`.`proxylink_id` = `Proxylink`.`id`) WHERE `Prox`.`id` = '58.22.101.239:808' LIMIT 1

1054: Unknown column 'Prox.proxylink_id' in 'on clause'

これをクエリ「LEFT JOIN proxylinksAS ProxylinkON ( Prox. proxylink_id= Proxylink. id)」に入れる理由がわかりません。なぜこれを行うのかについてのドキュメントを見つけることができませんでした。関連するモデルのフィールドと各クエリの現在のモデルの既存のハイブリッド。これは非常に奇妙です。保存/更新クエリを機能させるためにできることについて、アドバイスをいただければ幸いです。

4

1 に答える 1

2

belongsToアソシエーションがある場合、「prox」テーブルには「proxylink_id」フィールドが必要です。

連想モデルを結合したくない場合は、' recursive ' オプションを に設定する必要があります-1

于 2010-07-18T10:58:06.593 に答える