1
토큰별로 사용자를 찾고 싶습니다. 나는 일대일 관계가 많습니다. 내 교리의 구성 파일에 의해symfony3 관계로 검색
AppBundle\UserEntity:
type: entity
table: null
repositoryClass: AppBundle\Repository\UserEntityRepository
id:
id:
type: integer
id: true
generator:
strategy: AUTO
fields:
username:
type: string
length: 255
unique: true
password:
type: string
length: 255
nullable: true
salt:
type: string
length: 255
unique: true
email:
type: string
length: '100'
lifecycleCallbacks: { }
oneToMany:
token:
targetEntity: TokenEntity
mappedBy: user
fetch: EAGER
AppBundle\TokenEntity:
type: entity
table: null
repositoryClass: AppBundle\Repository\TokenEntityRepository
id:
id:
type: integer
id: true
generator:
strategy: AUTO
fields:
value:
type: string
length: 255
unique: true
lifecycleCallbacks: { }
manyToOne:
user:
targetEntity: UserEntity
inversedBy: token
joinColumns:
user_id:
referencedColumnName: id
I 시도 검색 사용자 토큰 :
UserEntityRepository.php
<?php
class UserEntityRepository extends EntityRepository
{
public function loadUserByToken(string $token)
{
$repository = $this->_em->getRepository('AppBundle:UserEntity');
$user = $repository->findOneBy(['token'=>1]);
return $user;
}
}
심포니 던져 예외 :
당신은 협회 필드를 검색 할 수 없습니다 'AppBundle \ Entity \ UserEntity # token', 반대쪽이기 때문에 가 협회입니다. 메소드가 사이드 제휴를 소유하고있을 때만 작동합니다.
무엇이 잘못 되었나요? 이 관계를 어떻게 고쳐야합니까? 사용자는 토큰이 거의 없어야합니다.
도와 주시겠습니까?
이 작동! 나는 via -> findOneBy가 작동해야한다고 생각했지만,이 해결책은 괜찮습니다. 감사 ! – Matrix12