новичок в cakePHP и первая попытка присоединиться.У меня есть одна таблица с именем users и одна под названием projects.у одного пользователя может быть много проектов, поэтому у проектов есть столбец user_id.
Вот мое действие в projects_controller:
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:
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
Как вы увидите, все выглядит хорошо, за исключением того, что он ничего не выбирает из таблицы пользователей, но он присоединяется к нему.
И вот мое мнение:
<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; ?>
Я где-то напутал?представление пытается перечислить все проекты вместе с пользователем, которому он принадлежит.
Большое спасибо,
Jonesy