0

ユーザーが都市に属し、都市には多くのユーザーがいる、2 つのモデル User と City があります。city テーブルには、city_id と city_name があります。

私は使用済みのケーキ ベイクを使用してユーザー モデルを作成しました。新しいユーザーを追加すると、都市フィールドの下のコンボ ボックスに名前ではなく都市の ID が表示されます。

ID の代わりに都市の名前を表示する方法をいくつか試しましたが、失敗しました。

4

2 に答える 2

1

試したことについては言及していませんが、通常はモデルのdisplayNameプロパティを使用して、レコードの「タイトル」に使用するフィールドを設定します。あなたの場合、私は次のように思います:

$this->displayName = 'city_name';

displayField1.3 では、属性名がではなくのように見えることに注意してくださいdisplayName

于 2010-08-14T23:20:48.697 に答える
1

Cake で自動化を機能させるには、特定のテーブル レイアウトが必要です。ロブはそれを回避する方法を説明しました。ただし、余分なコード行を記述したくない場合は、それに応じてテーブルを編成することを検討する必要があります。

CREATE TABLE `cities` (
  `id` int(11) AUTO_INCREMENT NOT NULL,
  `name` varchar(25) NOT NULL,
  PRIMARY KEY (`id`)
)

このモデルをベイクすると、Cake は自動的nameに表示名として使用します。これは、作成するすべてのテーブルに適用されます。またid、テーブルに を使用すると、他のテーブルから外部キーとして参照する方法が自動的に認識されcity_idます。

于 2010-08-15T15:39:58.167 に答える