2009-10-19 1 views

답변

0

사용자 및 카테고리 모델간에 hasMany 관계가 있다고 생각하십니까?

그러면 치명적입니다.

$this->User->find('first')->Category->find('all'); 

사용자와 관련된 모든 카테고리를 검색합니다. 당신에게 도움이 될 수

일부 자원 :

+0

"cat"테이블의 값을 등록의 "선택"요소에 입력해야합니다. 가입 페이지 목록에 대해 모든 국가가 국가 표 양식 – coderex

+0

'-> find ('first') -> Category'가 이상하게 보일 때 'User-> Category'를 의미하지 않습니까? – deceze

0

/models/user.php :

var $actsAs = array('Containable'); 
var $hasMany = array('Category'); 

/controllers/users_controller.php :

function listall() 
{ 
    $users = $this->User->find('all', array('contain' => array('Category'))); 
    $this->set('users', $users); 
} 

/views/users/listall.ctp :

foreach($users as $user) 
{ 
    echo htmlspecialchars($user['User']['username']); 
    echo '<ul>'; 
    foreach($user['User']['Category'] as $category) 
    { 
     echo '<li>'; 
     echo htmlspecialchars($category['description']); 
     echo '</li>'; 
    } 
    echo '</ul>'; 
} 

는 $ 사용자 배열을 나타 내기 위해 디버그 기능을 사용

debug($users); 

체크 아웃 함유 성 행동에 대한 설명서 :

http://book.cakephp.org/view/474/Containable

1

f 준비 범주가에서 선택 요소

 
$categories = $this->User->Category->find('list'); 
$this->set(compact('categories')); 
  • 에 사용되는 수, 컨트롤러의

    • : select 요소는 당신이 사용자 belongsTo를 카테고리의 관계를 가정하면, 범주를 포함하는 병
    echo $form->input('User.category_id');

    : 당신의 선택 요소를 추가 뷰 Cake는 Inflector의 덕분에 $categories 변수에 포함 된 값을 category_id에 자동으로 사용합니다. 어떤 이유로 든 값이 다른 변수에 있으면

    echo $form->input('User.category_id', array('options' => $values_array));
관련 문제