从其他模型中删除记录

时间:2009-12-22 14:45:52

标签: php cakephp

我有模特:销售和跟随。表格后跟有一个id,一个user_id和sale_id。 我想要做的是:在sales_controller上我需要找到一条跟踪记录,其中user_id是Authenticated,而sale_id是作为参数传递的。

所以这就是我尝试过的:

尝试1,

App::import('model','Follow');
$follow = new Follow();
$follow->user_id = $this->Auth->user('id');
$follow->sale_id = $id;
$follow->delete();

尝试2,

App::import('model','Follow');
$follow = new Follow();
$follow->delete(array('Follow.user_id'=>$this->Auth->user('id'), 'Follow.sale_id'=>$id));

尝试3,

App::import('model','Follow');
$follow = new Follow();
$result = $follow->find('first',array('conditions'=>array('Follow.user_id'=>$this->Auth->user('id'), 'Follow.sale_id'=>$id)));
$result->delete()

尝试4,

 var $uses = array('Sale', 'Follow');
 (...)
 $result = $this->Follow->find('first',array('conditions'=>array('Follow.user_id'=>$this->Auth->user('id'), 'Follow.sale_id'=>$id)));
 $result->delete();

在尝试3和4 $result确实返回了我期望的值,但删除不起作用。

但这些尝试都没有成功。

1 个答案:

答案 0 :(得分:1)

尝试使用控制器:

    var $uses = array('MyOriginalModelName', 'Follow');

然后$this->Follow将有效。 如果您真的想从中删除,那么添加到控制器的“使用”列表中似乎是合乎逻辑的

在旁注中,您可能需要查看loadModel() function