모델 User와 모델 플레이어간에 has_many (계정을 통한) 연결이 있습니다.Rails를 사용하여 쿼리에 has_many 레코드 포함
모든 사용자를 쿼리하는 가장 좋은 방법은 무엇인지 알고 싶습니다. 반환 된 각 레코드에 대해 관련 플레이어의 usernames 특성 (쉼표로 구분 된 값)을 얻습니다.
예를 들어 'John'이라는 사용자가 'john_black', 'john_white', 'john_yellow'사용자 이름을 가진 3 명의 선수와 연결되어있는 경우 쿼리에서 User 특성뿐만 아니라 player_username과 같은 특성을 반환하도록하고 싶습니다.이 값은 john_black, john_white, john_yellow
입니다.
:
SELECT `users`.*, GROUP_CONCAT(`players`.`username` SEPARATOR ',') AS comma_username FROM `users` INNER JOIN `accounts` ON `accounts`.`user_id` = `users`.`id` INNER JOIN `players` ON `players`.`id` = `accounts`.`player_id`
내가 MySQL의에서 이것을 실행하면 콘솔이 작동하지만 경우 : 나에게 다음과 같은 SQL을 제공
select(`users`.*).select("GROUP_CONCAT(`players`.`username` SEPARATOR ',') AS comma_username").joins(:user)
.joins(:accounts => :player)
모델에서 가져 오려고하면 쉼표로 구분 된 값을 얻지 못합니다.
무엇이 누락 되었습니까?