私は関連付けを使用して、CakePHP でモデルをリンクしています。
リレーションシップを使用しPlayer
てモデルにリンクされているモデルがあります。したがって、基本的に 1 人のプレイヤーは多くの統計を持つことができます。Statistic
$hasMany
これらの関係をセットアップした後、とモデルcake bake
の両方のコントローラーとビューを生成するために使用します。Player
Statistic
すべてが正常に機能し、期待どおりに機能しますが、追加テンプレートを使用して統計を追加すると、player_id
が関連付けとして使用されます。
私の質問は、モデルを関連付けとして使用するようにモデルを設定する方法ですがplayer_id
、追加テンプレートのドロップダウン メニューとしてプレーヤーの姓名などを使用する方法です。
現在、新しい統計を追加しようとすると、すべてのプレーヤー ID をリストする「プレーヤー」というドロップダウン ボックスが表示されますが、ID ではなくプレーヤーの first_name と last_name をそのドロップダウン ボックスに入れる必要があります。 . これを達成するためにコントローラーまたはテンプレートを変更できることはわかっていますが、モデルをセットアップするときにこれを実行できるかどうかを知りたいですcake bake
。
プレイヤーモデル:
<?php
class Player extends AppModel {
public $name = 'Player';
public $belongsTo = array(
'School' => array(
'className' => 'School',
'foreignKey' => 'school_id'
)
);
public $hasMany = 'Statistic';
}
統計モデル:
<?php
class Statistic extends AppModel {
public $name = 'Statistic';
public $belongsTo = array(
'Player' => array(
'className' => 'Player',
'foreignKey' => 'player_id'
)
);
}
プレイヤーズテーブル
`id|school_id|first_name|last_name|number|position