Cakephp çaylak tarafından basit bir sveyau:
i iki model, oyuncu ve takım var.
Takım bir id (içindet) ve bir cool_name (varchar) sahiptir.
Oyuncu bir id (içindet), bir cool_name (varchar) ve ekibi tablo içiçinde bir referans, team_id (içindet) sahiptir.
I içindegilizce tablolar yok çünkü yeriçindee adı Cool_name, bu yüzden alan 'isim' kullanamazsınız.
Yani, bir takım hasMany oyuncu ve bir oyuncu belongsTo ekip.
Benim Oyuncu model:
class Player extends AppModel {
var $name = 'Player';
var $belongsTo = array('Team');
}
(Takım modeli içerideki adı dışında hiçbir ilgisi yoktur)
PlayersController:
class PlayersController extends AppController {
var $name = 'Players';
function add() {
$this->set('teams', $this->Player->Team->fiçinded('list'));
//then save...
}
Oyuncunun eklenti görünümünde:
//...
echo $fveyam->içindeput('squadra_id');
//...
Tamam bu yüzden içeride ekip kimlikleri ile bir seçme var; i id istemiyveyaum, ancak takımın adını ve ardından id kaydediçinde: (html) gibi bir şey
<select name="data[Player][team_id]" id="PlayerTeamId">
<option value="1">Cool Name 1</option>
<option value="2">Cool Name 2</option>
<!-- -->
<option value="{team id}">{team cool name}</option>
</select>
I nasıl yapabilirim?
- Solution -
yeriçindee
$this->set('teams', $this->Player->Team->fiçinded('list'));
Bu koymak
$this->set('teams', $this->Player->Team->fiçinded('list', array('fields' => array('cool name') ) ) );