반응형
Symfony2 + Doctrine으로 시작합니다.
내 스키마에 'array' 유형의 roles 열이 포함 된 User 개체 (fos_user)가있는 테이블이 있습니다.
Doctrine은이 유형의 필드를 php 'array'에서 'longtext'(mysql의 경우)로 직렬화하여 저장합니다.
따라서 다음 사용자를 DB에 저장했다고 가정 해 보겠습니다.
User1: array(ROLE_ADMIN, ROLE_CUSTOM1)
User2: array(ROLE_ADMIN, ROLE_CUSTOM2)
User3: array(ROLE_CUSTOM2)
이제 컨트롤러에서 ROLE_ADMIN이 설정된 모든 사용자를 선택하고 싶습니다. Is there a way to write a DQL query which would directly return me User1 and User2? 아니면 모든 사용자를 가져와 역할 열의 직렬화를 해제하는 Doctrine을 갖고 각 사용자에 대해 in_array ( 'ROLE_ADMIN', $ user-> getRoles ()) 를 수행해야합니까?
해결 방법
이 설명서에 설명 된 LIKE
문을 사용할 수 있습니다 (예, 직렬화 된 객체에서도 가능).
역할에 대한 엔터티 클래스를 만들고 ManyToMany 연결을 통해 사용자 엔터티와 조인하는 것이 좋습니다.
참조 페이지 https://stackoverflow.com/questions/13126220
반응형
'MySql' 카테고리의 다른 글
MySQL IN 절에 변수를 전달하는 방법은 무엇입니까? (0) | 2021.01.22 |
---|---|
MySQL mysql tinyint (1) 대 tinyint (2) 대 tinyint (3) 대 tinyint (4) (0) | 2021.01.22 |
MySQL Workbench "가져 오는 중 ..."-DB를 검색 할 수 없습니다. (0) | 2021.01.22 |
MySQL 자바 스크립트를 사용하여 버튼 값을 얻는 방법 (0) | 2021.01.22 |
MySQL MySql의 백분율 기호 (0) | 2021.01.22 |
댓글