0
cakePHP에 처음 오르고 내 첫 번째 참여를 시도합니다. 저는 하나의 테이블을 사용자라고하고 하나는 프로젝트라고합니다. 한 사용자는 많은 프로젝트를 가질 수 있으므로 프로젝트에는 user_id 열이 있습니다. 당신이 모든 것을 살펴 보 겠지만CakePHP 테이블에 도움이됩니다.
SELECT `Project`.`id`, `Project`.`title`, `Project`.`created`, `Project`.`website`, `Project`.`language_id`, `Project`.`user_id` FROM `projects` AS `Project` inner JOIN users AS `UsersTable` ON (`UsersTable`.`id` = `Project`.`user_id`) WHERE 1 = 1
는 사용자 테이블로부터 선택하지 아무것도를 제외하고 잘 보이지만 그것이 : 여기
function index() {
$this->set('projects', $this->Project->find('all', array('joins' => array(
array(
'table' => 'users',
'alias' => 'UsersTable',
'type' => 'inner',
'foreginKey' => false,
'conditions' => array('UsersTable.id = Project.user_id')
)
))));
}
는 SQL 덤프입니다 : 여기
는 projects_controller 내 작업입니다 그것에 합류했다.
<table>
<tr>
<th>Name</th>
<th>User</th>
</tr>
<?php foreach ($projects as $project): ?>
<tr>
<td>
<?php echo $html->link($project['Project']['title'], array('controller' => 'projects', 'action' => 'view', $project['Project']['id'])); ?>
</td>
<td>
<?php echo $html->link($project['Project']['username'], array('controller' => 'users', 'action' => 'view', $project['Project']['user_id'])); ?>
</td>
</tr>
<?php endforeach; ?>
내가 어딘가에 엉망 :
그리고 여기 내이다? 뷰는 모든 프로젝트를 소유 한 사용자와 함께 나열하려고 시도합니다.
덕분에 많이,
존시
달성하려는 목표는 무엇입니까? 모든 프로젝트에 연관된 사용자가있는 경우이 경우 내부 조인은 왼쪽 조인처럼 작동합니다. 사용자가 모든 프로젝트를 나열하려고한다면'User' 모델에서 find를 수행하고 프로젝트 테이블을 내부적으로 조인해야합니다. –
내 질문이 업데이트되었습니다. 프로젝트 테이블의 모든 프로젝트를 나열하고 사용자를 참여 시켜서 프로젝트 이름과이 프로젝트를 만든 사용자를 나열하여 projects_controller 내에 있습니다. – iamjonesy
SQL 덤프 및 업데이트 된 뷰를 추가했습니다. 내 질문 – iamjonesy