TwitterTweets 엔티티 :교리 2 ManyToOne 매핑 주석
/**
* MyBundle\CoreBundle\Entity\TwitterTweets
*
* @ORM\Table(name="twitter_tweets")
* @ORM\Entity
*/
class TwitterTweets
{
/**
* @var TwitterUsers
*
* @ORM\ManyToOne(targetEntity="TwitterUsers", inversedBy="tweets")
* @ORM\JoinTable(name="twitter_tweets",
* joinColumns={
* @ORM\JoinColumn(name="twitter_user_id", referencedColumnName="twitter_id")
* }
*)
*/
private $twitterUser;
}
TwitterUsers 엔티티 :
/**
* MyBundle\CoreBundle\Entity\TwitterUsers
*
* @ORM\Table(name="twitter_users")
* @ORM\Entity
*/
class TwitterUsers
{
/**
* @var TwitterTweets
*
* @ORM\OneToMany(targetEntity="TwitterTweets", mappedBy="twitterUser")
*/
private $tweets;
}
twitter_tweets 테이블 :
CREATE TABLE `twitter_tweets` (
`period` int(6) unsigned NOT NULL,
`tweet_id` varchar(30) NOT NULL,
`twitter_user_id` bigint(20) unsigned NOT NULL,
`tweet` varchar(255) NOT NULL,
`url` text NOT NULL,
`retweet_count` varchar(10) NOT NULL DEFAULT '0',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`period`,`tweet_id`),
KEY `period` (`period`),
KEY `tweet_id` (`tweet_id`),
KEY `twitter_user_id` (`twitter_user_id`),
KEY `created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
twitter_users 테이블 :
CREATE TABLE `twitter_users` (
`twitter_id` bigint(20) unsigned NOT NULL,
`user` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL,
`profile_image_url` text NOT NULL,
PRIMARY KEY (`twitter_id`),
KEY `user` (`user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
이 오류는 간단한 SELECT를 실행 얻을 : 발견되지
$this->getDoctrine()->getRepository('MyBundleCoreBundle:TwitterTweets')->findOneBy(array('tweetId' => $data->tweet_id))
칼럼 : 1054 알 수없는 열 '필드 목록'에서 't0.twitterUser_id'
SELECT t0.period AS period1, t0.tweet_id AS tweet_id2, t0.tweet AS tweet3,
t0.url AS url4, t0.retweet_count AS retweet_count5, t0.created_at AS created_at6,
t0.twitterUser_id AS twitterUser_id7
FROM twitter_tweets t0 WHERE t0.tweet_id = ?
를 내가이 문제를 해결 수있는 방법 발행물?
"메시지": 나는 (관절 식 주석 제외)에만 @ORM \ JoinColumn을 설정하려고하지만 난이 오류 "SQLSTATE [42S02] : 기본 테이블이나 찾을 수 없습니다 전망 : 1146 표 'database.twittertweets_twittertrends을 '존재하지 않음'
감사합니다. 이전에 쓴 것처럼 @ORM \ JoinColumn (예제와 똑같이)을 설정하려고했지만 작동하지 않습니다. ** " 메시지 ":"SQLSTATE [42S02] : 기본 테이블 또는 뷰를 찾을 수 없음 : 1146 'database.twittertweets_twittertrends'테이블이 존재하지 않음 ** –
눈이 멀었는지 모르겠지만, 당신이'@ JoinColumn'에 관해 썼던 질문의 마지막 부분. 미안합니다. 엔티티의 맨 위에 넣은'@ Table' 주석으로 질문을 업데이트 할 수 있습니까? 당신이 테이블 이름을 잘못 입력했거나 주석을 넣지 않았다고 생각합니다. ** ... –
이제 테이블 엔티티 맨 위에 테이블 주석을 추가했습니다. 나는 그것이 그들이 맞다고 생각한다. 미리 감사드립니다 !! –