Привет, у меня есть эти две таблицы, которые я хочу объединить, используя отношения в Yii. Проблема заключается в том, что мне трудно понять, как работает отношение Yii.Yii, соединяющий две таблицы, используя отношения в модели
picturepost
id
title
link_stat_id
linkstat
id
link
post_count
У меня также есть рабочий SQL-запрос. Это запрос, я хочу, чтобы мое отношение к результату поиска, когда я, когда я хочу, чтобы получить picturepost
SELECT picturepost.id, picturepost.title,linkstat.post_count
FROM picturepost
RIGHT JOIN linkstat
ON picturepost.link_stat_id=linkstat.link;
Я хочу что-то вроде этого, когда я ищу пост.
$post = PicturePost::model() -> findByPk($id);
echo $post->linkCount;
Вот мой стол для дополнительной информации:
CREATE TABLE IF NOT EXISTS `picturepost` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`title` text COLLATE utf8_unicode_ci DEFAULT NULL,
`link_stat_id` char(64) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS `linkstat` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`link` char(64) COLLATE utf8_unicode_ci NOT NULL,
`post_count` int(11) DEFAULT '0',
PRIMARY KEY (`id`),
KEY `post_count` (`post_count`),
KEY `link_stat_id` (`link`)
) ENGINE=InnoDB;
Заранее спасибо, я надеюсь, что я объяснил это ясно.
Все еще запутано, как подключить его с помощью внешнего ключа. ** link_stat_id ** должен быть первичным ключом? – tiltdown
picturepost.link_stat_id - FOREIGN KEY, который отображает tolinkstat.id, который является ПЕРВИЧНЫМ КЛЮЧОМ. Что именно вас смущает? Я предоставил код для создания связей и запросил родительскую и дочернюю записи. Есть ли что-то еще, чего вы ожидали? – crafter
picturepost.link_stat_id = linkstat.link, а linkstat.id - столбец auto_increment - моя структура таблицы неправильная? – tiltdown