0

Cakephp には、Company と Profile モデルがあります。会社が 0 または 1 つのプロファイル関係を持っていることを証明したいと思います。Company hasOne Profile を使用するのは適切ですか? 私が注意する必要がある意味はありますか?テーブルのスキーマは次のとおりです。ありがとう。

create table companies (
  id char(36) NOT NULL,
  type int(10) NOT NULL,
  primary key (id)
);
create table profiles (
  id char(36) NOT NULL,
  company_id char(36) NOT NULL,
  provider_contact varchar(255) NULL,
  primary key (id),
  unique key (company_id),
  foreign key (company_id) references companies(id)
);
4

3 に答える 3

2

はい、hasOne/belongsTo リレーションシップを使用できます。会社にプロファイルがない場合、サブ配列は空になります。

プロファイル テーブルでは、Cake の命名規則に従うために company_id を使用する必要があります。

于 2013-07-25T20:45:29.137 に答える
0

CakePHP の規則に従うには、フィールドはcompany_idではなくである必要がありますcompanies_id

外部キー制約はあなた次第です。通常は追加しません。一意の制約が正しくないようです。これは、会社ごとに 1 つのプロファイルしか存在できないことを意味します。これは、会社が 0 個または 1 個のプロファイルを持つことができるのと同じではありません。

于 2013-07-25T20:44:35.193 に答える