간단한 질문을하는 방법을 이해할 수 없다 :에 BelongsTo 문제는, 내가 CakePHP의 멍청한 놈에 의해 그
내가 두 가지 모델, 선수 및 팀이있다.
팀에 id (int) 및 cool_name (varchar)이 있습니다.
플레이어에는 id (int), cool_name (varchar) 및 team_id (int)에 대한 참조가 있습니다.
영어 대신 테이블이 없으므로 이름 대신 Cool_name이 사용되므로 'name'필드를 사용할 수 없습니다.
그래서 한 팀에 많은 플레이어와 플레이어의 belongsTo 팀이 있습니다.
내 플레이어 모델 :class Player extends AppModel {
var $name = 'Player';
var $belongsTo = array('Team');
}
(팀 모델은 내부의 이름이 아닌 아무 상관이 없음)
PlayersController :
//...
echo $form->input('squadra_id');
//...
: 플레이어의 추가보기에서
class PlayersController extends AppController {
var $name = 'Players';
function add() {
$this->set('teams', $this->Player->Team->find('list'));
//then save...
}
좋아, 그래서 팀 ID가있는 셀렉트를 가지고 있습니다; 나는 ID,하지만 팀의 이름을 원하는 다음 ID를 저장하지 : (HTML에서) 같은
<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>
내가 어떻게 할 수 있습니까?
- 솔루션-
대신이
$this->set('teams', $this->Player->Team->find('list', array('fields' => array('cool name'))));
아, 미안 해요. 이탈리아어에서 영어로 예제를 번역하여 "nome"이 "name"이되도록했습니다. 그런 이유로 magic이 작동하지 않습니다 (이것은 'squadra_id' , 그것은 'team_id'의 번역입니다) 나는 그 글에서 그것을 바로 잡을 것입니다. 그 동안 도움을 주셔서 감사합니다. – apelliciari