username
, password
및 type
필드가있는 user
테이블이 있습니다. type
은 직원, 공급 업체 및 고객과 같은 이들 중 하나 또는 조합 일 수 있습니다. 사용자는 공급 업체과 클라이언트이거나 다른 조합 일 수 있습니다. type
필드의 경우 다중 확인란을 사용했습니다 (아래 코드 참조). 이 코드는 쉼표로 구분 된 값으로 여러 값을 저장cakephp에서 사용자 레코드를 편집하는 동안 체크 박스가 선택되지 않았습니다
app/models/user.php
function beforeSave() {
if(!empty($this->data['User']['type'])) {
$this->data['User']['type'] = join(',', $this->data['User']['type']);
}
return true;
}
: 나는 beforeSave
콜백 메소드를 사용한 모델 파일에서
<div class="users form">
<?php echo $this->Form->create('User');?>
<fieldset>
<legend><?php __('Add User'); ?></legend>
<?php
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->input('type', array('type' => 'select', 'multiple' => 'checkbox','options' => array(
'client' => 'Client',
'vendor' => 'Vendor',
'employee' => 'Employee'
)
));
?>
</fieldset>
<?php echo $this->Form->end(__('Submit', true));?>
</div>
이의 의견/사용자/add.ctp 파일입니다 데이터 베이스.
사용자를 편집 할 때 주된 문제가 있습니다. 사용자가 사용자 생성 중에 여러 유형을 선택한 경우 해당 유형에 대한 확인란이 하나도 선택되어 있지 않습니다.
선택하지 않은 배치된다. 이 모델의 코드에 시간을 투자하기 전에 해당 부분을 올바르게 가져 오십시오. User-> Type은 일대 다 관계입니다. 이러한 유형의 관계는 사용자가 1 ~ 3 개의 행을 가질 수있는 두 번째 테이블로 표시됩니다. 단일 열에 여러 값이있는 경우 (즉, 열 값이 원자가 아닌 경우) 디자인을 표준화하지 않았습니다. –
@ Dan : 사용자와 유형을 관련시키기 위해 새로운 테이블 유형 및 user_type 테이블을 작성해야한다고 말하고 싶습니다. –
반드시 유형 테이블이 아니라 user_type 테이블이 필요합니다. –