У меня следующие отношения:
Версия:
public $hasAndBelongsToMany = array(
'Band' => array(
'className' => 'Band',
'joinTable' => 'bands_editions',
'foreignKey' => 'edition_id',
'associationForeignKey' => 'band_id',
'unique' => true,
)
);
Группа:
public $hasAndBelongsToMany = array(
'Edition' => array(
'className' => 'Edition',
'joinTable' => 'bands_editions',
'foreignKey' => 'band_id',
'associationForeignKey' => 'edition_id',
'unique' => true,
)
);
BandsController:
public function add()
{
if($this->request->is('post'))
{
$this->Band->create();
if($this->Band->save($this->request->data))
doSomething();
else
doSomethingElse();
}
}
public function edit($id = NULL)
{
$this->Band->id = $id;
if(!$this->Band->exists())
throw new NotFoundException(__('Not found'));
if($this->request->is('post') || $this->request->is('put'))
{
if($this->Band->save($this->request->data))
doSomething();
else
doSomethingElse();
} else {
$this->request->data = $this->Band->read(NULL, $id);
}
}
Когда я пытаюсь заполнить Bands с помощью add(), все идет хорошо, но как только я вызываю edit(), Cake останавливается с этой ошибкой: Неустранимая ошибка: вызов функции-члена schema() для не-объекта
При отладке обнаружил, что ошибка вылетает, когда парсер доходит до проверки типа запроса.
В чем моя ошибка?