В CakePHP есть лучший способ выбрать имя пользователя? - PullRequest
0 голосов
/ 05 марта 2012

У меня в настоящее время есть таблица users и таблица posts.В моей таблице сообщений есть поле для user_id, однако я не уверен, как мне получить поле пользователя name, которое находится в таблице users.Я думал об использовании метода models afterFind(), а затем об использовании SQL для выбора данных, но должен быть лучший способ, чем этот.Кроме того, на моем действии просмотра я использую функцию read(), чтобы получить один пост.Будут ли работать модели afterFind() после запуска read()?Если нет, есть ли такой эквивалент, как afterRead()?

Ответы [ 3 ]

2 голосов
/ 05 марта 2012

Просто создайте ассоциацию с пользователем, принадлежащим пользователю Post, и каждая обычная операция поиска / чтения, имеющая достаточно высокое значение recursive, будет автоматически получать пользователя с каждым сообщением.

$post = $this->Post->find(...);
echo $post['User']['name'];
0 голосов
/ 05 марта 2012
$this->Post->bindModel(array('belongsTo'=>'User'));
$post = $this->Post->findById($post_id);
$userName = $post['User']['name'];

Вот ошибки, я набрал его в eclipse (:

0 голосов
/ 05 марта 2012

вы должны идти, как показано ниже:

$this->Cake->findById(7);   Cake.id = 7 

здесь, вы можете использовать user_id вместо 7 как ..

Найти на торт PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...