ユーザーが都市に属し、都市には多くのユーザーがいる、2 つのモデル User と City があります。city テーブルには、city_id と city_name があります。
私は使用済みのケーキ ベイクを使用してユーザー モデルを作成しました。新しいユーザーを追加すると、都市フィールドの下のコンボ ボックスに名前ではなく都市の ID が表示されます。
ID の代わりに都市の名前を表示する方法をいくつか試しましたが、失敗しました。
ユーザーが都市に属し、都市には多くのユーザーがいる、2 つのモデル User と City があります。city テーブルには、city_id と city_name があります。
私は使用済みのケーキ ベイクを使用してユーザー モデルを作成しました。新しいユーザーを追加すると、都市フィールドの下のコンボ ボックスに名前ではなく都市の ID が表示されます。
ID の代わりに都市の名前を表示する方法をいくつか試しましたが、失敗しました。
試したことについては言及していませんが、通常はモデルのdisplayName
プロパティを使用して、レコードの「タイトル」に使用するフィールドを設定します。あなたの場合、私は次のように思います:
$this->displayName = 'city_name';
displayField
1.3 では、属性名がではなくのように見えることに注意してくださいdisplayName
。
Cake で自動化を機能させるには、特定のテーブル レイアウトが必要です。ロブはそれを回避する方法を説明しました。ただし、余分なコード行を記述したくない場合は、それに応じてテーブルを編成することを検討する必要があります。
CREATE TABLE `cities` (
`id` int(11) AUTO_INCREMENT NOT NULL,
`name` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
)
このモデルをベイクすると、Cake は自動的name
に表示名として使用します。これは、作成するすべてのテーブルに適用されます。またid
、テーブルに を使用すると、他のテーブルから外部キーとして参照する方法が自動的に認識されcity_id
ます。