CakePHP'de - farklı bir model bir kaydı silme

1 Cevap php

Peki bu basit bir cevabı olan bir soru olabilir ama ben arıyor oldum ve bunu nasıl bulamadı.

I have the models: sales and follow. The table follow has an id, an user_id and sale_id. What I wan't to do is: on the sales_controller I need to find one follow record that has the user_id that is Authenticated and the sale_id that is passed as parameter.

Yani burada ben denedim budur:

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();

Girişimi # 3 E # 4 '$ sonuç' i bekliyordum değerini döndürür, ama çalışmıyor silmek gelmez.

Ancak bu girişimlerin hiçbiri dışarı çalıştı.

Herkes yardımcı olabilir?

Teşekkürler.

1 Cevap

Evet, bu denetleyicisi deneyin, yanlış :) bulunuyor:

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

Then $this->Follow will work. And also It seems to be logical to add into the controller's "uses" list if you actually want to delete from it

Bir tarafta (loadModel kontrol etmek isteyebilirsiniz unutmayın) fonksiyonu: http://book.cakephp.org/view/845/loadModel