开发者

CakePHP, injects "LEFT JOIN" (mentioning fields in an associated model) into my update attempts

This is driving me crazy, I am trying to do something like:

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

where I have a model association of:

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

But I get an error of:

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'

I don't get why its putting this into the query "LEFT JOIN proxylinks AS 开发者_开发知识库Proxylink ON (Prox.proxylink_id = Proxylink.id)" and I have been unable to find any documentation on why its doing this, its as if it HAS to try to include a non-existant hybrid of a field from my associated model and my current model on each query, which I find extremely bizarre.. any advice is appreciated on what I can do to get my save / update queries to work.


If you have belongsTo association your 'prox' table must have 'proxylink_id' field.

If you don't want associative models to be joined you must set 'recursive' option to -1.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜