現在、CakePHP3.6を利用して業務システムを開発しております。
以下のシナリオを実現するために結合テーブルを利用したテーブル設計を検討しておりますが、結合テーブルへのレコードの保存方法をご教示いただけますと幸いです。
【シナリオ】
ユーザーは1つ以上の会社IDの権限を有し、その会社の業務をシステムで実行する権限を有しています。
権限を有しているかの判定は権限テーブルにユーザーIDと会社IDの組み合わせがあるかどうかで判定します。
・ユーザーテーブル
・会社テーブル
・権限テーブル(結合テーブル)
【実行したい処理】
ユーザーが会社IDを新規作成した場合に会社テーブルに新規IDを保存するとともに権限テーブル(結合テーブル)にユーザーIDと会社IDの組み合わせを保存する。
会社IDは会社テーブルモデルのbeforeSaveメソッドでランダムIDを生成して追加しています。
【疑問点】
以下のドキュメントを読みましたがどのように置き換えればよいか理解することが出来ませんでした。
https://book.cakephp.org/3.0/ja/orm/saving-data.html#id18
その他以下、疑問点です。
・上記ドキュメントではstudentとcoursesの組み合わせを結合テーブルに保存シナリオですがstudent_id及びcourse_idを明示的に定義していないようですがどのように取得しているのでしょうか。
$student->courses[0]->_joinData->grade = 80.12; $student->courses[0]->_joinData->days_attended = 30; $studentsTable->save($student);
・会社テーブルモデルのbeforeSaveメソッドで生成した会社IDも同様に結合テーブルに反映させることは可能なのでしょうか。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/16 11:53
退会済みユーザー
2019/04/16 15:35
2019/04/29 15:03