Unbind HasAndBelongsToMany в CakePHP 2 не отменяет привязку модели

Как убрать привязку HasAndBelongsToMany отношения в CakePHP 2.8? У меня есть эта модель, которая связана с моделью задач (отношение N:M).

class Date extends AppModel
{

    public $name = 'Date';
    public $displayField = 'rdate';
    public $actsAs = array('Containable');
    public $hasAndBelongsToMany = array('Task' => array('className' => 'Task'));

    public function getCurrentDate()
    {
        return $this->find('first',
            array(
                'conditions' => array(
                    'Date.rdate' => date('Y-m-d')
                )
            )
        );
    }

}

Я хотел бы убрать в getCurrentDate() функционировать эти отношения, но $this->recursive = -1; в этой функции, ни в find() не работает Мне нужна только одна запись из Date модель, но поиск возвращает все задачи, связанные с этой моделью.

Редактировать #1: Даже не связывающая модель на лету не работает:

$this->unbindModel(
    array('hasAndBelongsToMany' => array('Task'))
);

по-прежнему возвращает связанные данные модели.

1 ответ

Вы можете отменить привязку моделей на лету, используя unbindModel(), Проверьте эти документы для специфики.

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html

Другие вопросы по тегам