У меня есть 3 таблицы пользователей на моей БД:hasOne подтип на CakePHP
Users
users_twitter
users_web
Пользователи является родителем как users_twitter
и users_web
.
И еще один стол для комментариев. Оба вида пользователей могут комментировать.
Итак, когда я хочу показать комментарии, мне нужно получить информацию об авторе каждого комментария. Для того, чтобы сделать это, я использую переменную $belongsTo
на /Model/Comment.php
как это:
public $belongsTo = array(
'users' => array(
'foreignKey' => 'idUser'
)
);
контроллер/CommentController, когда я это сделать:
public function index($idPost) {
$this->Comment->recursive = 0;
return $this->Comment->find('all');
}
Я получаю этот вид массива:
[0] => Array
(
[Comment] => Array
(
[id] => 1
[idPost] => 441
[idUser] => 387371023
[comment] => hello word
[created] => 2012-03-01 00:00:00
)
[User] => Array
(
[id] => 1
[username] => myname
)
)
И я хочу получить еще одну информацию о подтипе пользователей, в зависимости от наличия идентификатора в таблицах подтипов.
В случае это был идентификатор таблицы user_web, я хотел бы получить это:
[0] => Array
(
[Comment] => Array
(
[id] => 1
[idPost] => 441
[idUser] => 387371023
[comment] => hello word
[created] => 2012-03-01 00:00:00
)
[User] => Array
(
[id] => 1
[username] => myname
[users_web] => Array
(
[id] => 1
[username] => myName
[password] => XXXXX
[verified] => 1
[created] => 1
)
)
Вы знаете, если это возможно с помощью CakePHP? Насколько я знаю, с $hasOne
Я получаю только один уровень, мне нужно два.
Спасибо, сработало !! О том, почему я возвращаю его, это было просто для примера. Обычно я использую $ this-> set;) – Alvaro