Невозможно вставить данные с помощью функции saveAll со многими моделями

У меня есть проблема, связанная с функцией «SaveAll» в cakephp 1.2+, как показано ниже:

У меня есть 3 модели: A, B, C, отношение которых:

А принадлежит Б

B имеет один A

B принадлежат C

C имеет один B

Выше это означает, что A, B, C все отношения равны 1-1.

У меня есть форма, которая включает все поля A, B, C для создания новых A, B, C. При сохранении я не могу создать новые A,B,C с помощью функции SaveAll, потому что при проверке журнала sql торта функция SaveAll не создает INSERT sql для модели C

Пожалуйста, помогите мне решить эту проблему?


person dr.king    schedule 18.07.2010    source источник


Ответы (1)


index.ctp

       <?php echo $form->create('Customer',array('action' => 'customers/add'));
echo $form->input('Customer.name');
echo $form->radio('CustomerReview.comment');
echo $form->radio('CustomerRating.value');
?>

в файле customers_controller.php

    class CustomersController extends AppController {
    var $name = 'Customers';

    function index(){

        $this->layout = 'site';

        if(!empty($this->data)){
            if($this->Customer->saveAll($this->data)){
                $this->Session->setFlash('Thank you for the feedback!');
            }
        }
    }
}

здесь Customer = A CustomerReview = B CustomerRating = C

person RSK    schedule 19.07.2010
comment
Не могли бы вы прислать мне содержание 3-х моделей: Customer = A CustomerReview = B CustomerRating = C? - person dr.king; 20.07.2010
comment
В ваших примерах я думаю, что A относится к B, а A относится к C. Но мне нужно сохранить все, когда A относится к B, а B относится к C. - person dr.king; 26.07.2010