0

私の最初のケーキプロジェクトで、モデルの実装について基本的な質問をしたい

私はオブジェクト、ユーザー、および車両を持っています。

各ユーザーは 1 台の車両を持つことができるため、users テーブルには vehicle_id フィールドがあります。

私が欲しいのは、ユーザーを追加し、同じページに車を追加できる単一のページです

//User model
public $belongsTo = array(
    'Vehicle' => array(
    'className' => 'Vehicle'
)

私の質問は、 add 関数は /controller/view のように見える必要があるのですか?

どうもありがとうございました!

ユリウス

4

1 に答える 1

0

add 関数は、1 つのモデルを管理するだけの場合とあまり変わらないように見えます。saveAll()代わりに使用するだけでsave()、関連データも保存されます。あなたの場合、saveAll()車両データとユーザーデータを保存します。

HTML フォームには、両方のフィールドがあります。

<?php
    echo $this->Form->begin('User');
    echo $this->Form->input('User.name');
    echo $this->Form->input('Vehicle.name');
    // and so on
    echo $this->Form->end();
?>

そして、送信時にコントローラーでこれを処理します。

<?php
class UsersController extends AppController {

    public function add() {
        if ($this->request->is('post')) {
            if ($this->User->saveAll($this->request->data)) {
                $this->Session->setFlash('User and vehicle saved.');
                $this->redirect(array('action' => 'index'));
            }
        }
    }
}
于 2013-08-15T17:25:29.650 に答える