私はCakePHPから始めています。私は非常に単純なモデルを持っています:
- ユーザー
- 企業
- CompaniesUsers (ユーザーと会社の間の hasMany スルー リレーション)
ユーザーを作成し、このユーザーとしてログインすると、ユーザーと会社の間に関係がない場合、会社コントローラーの追加アクションにリダイレクトされます。これですべて完了し、うまく機能しています。
私の「大きな」問題は、会社を保存するときに、会社のデータと、現在のユーザーと作成された会社との関係を保存する必要があることです。私は「孤立した」企業を望んでいないので、これはすべてトランザクション内で行う必要があります。しかし、このコードはどこに配置すればよいでしょうか? Companies モデルで save() 関数を作成し、保存後に関係を作成しますか? Companies モデルで afterSave() 関数を作成しますか? すべてのコードを CompaniesController の add アクションに入れますか? この最後のオプションは良い考えではないと思います。ビジネス ロジックがモデルに含まれている必要がありますね。
これは非常に基本的な質問に違いないことはわかっていますが、CakePHP と MVC は初めてです。