0
사용자가 다른 사용자에게 메시지를 보낼 수있는 메시지 컨트롤러를 만들고 있습니다. 여기 내 데이터베이스 구조자동 드롭 다운 상자가 cakephp를 채우지 않습니다.
사용자
id
username
password
메시지
id
to_id
from_id
subject
message
to_id 모두 사용자의 id 컬럼을 참조 from_id입니다. 여기에 메시지
메시지
<?php
class Message extends AppModel {
var $name = 'Message';
var $displayField = 'subject';
var $validate = array(
'id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'to_id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
'allowEmpty' => false,
'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'from_id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
'allowEmpty' => false,
'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
);
var $belongsTo = array(
'Sender' => array(
'className' => 'User',
'foreignKey' => 'to_id'
),
'Recipient' => array(
'className' => 'User',
'foreignKey' => 'from_id'
)
);
}
내 모델 것은 여기에 내보기
<div class="messages form">
<?php echo $this->Form->create('Message');?>
<fieldset>
<legend><?php __('Add Message'); ?></legend>
<?php
echo $this->Form->input('to_id');
echo $this->Form->input('from_id');
echo $this->Form->input('subject');
echo $this->Form->input('message');
?>
</fieldset>
<?php echo $this->Form->end(__('Submit', true));?>
</div>
<div class="actions">
<h3><?php __('Actions'); ?></h3>
<ul>
<li><?php echo $this->Html->link(__('List Messages', true), array('action' => 'index'));?></li>
</ul>
</div>
그것은 드롭 다운 상자를 표시하지만, 거기에 어떤 사용자입니다. 난 내가 그렇게하지 않으면 작동하지 않습니다 마크에 의해 명시된
답변이 약간 잘못되었습니다 - $ froms 및 $ tos가 선택 상자를 자동 채우기합니다. 그렇지 않으면 수동으로 'options'=> $ senders 등이 필요합니다. – mark
지금 테스트 할 수는 없지만 연결이 있기 때문에 이런 식으로 작동해야합니다. – kaklon
마크가 맞으면 연관 자체만으로는 작동하지 않습니다. –