1
我在模型用戶和模型播放器之間有一個has_many(通過帳戶)關聯。在Rails查詢中包含has_many記錄
我想知道查詢所有用戶的最佳方式,併爲每個返回的記錄獲取關聯球員的用戶名屬性(逗號分隔值)。
因此,例如,名爲'John'的用戶與3個用戶名爲'john_black','john_white','john_yellow'的玩家相關聯。我希望該查詢不僅返回用戶屬性,還返回一個名爲player_username的屬性,該屬性的值爲:john_black, john_white, john_yellow
。
我試圖在用戶模式下阿雷爾查詢:
select(`users`.*).select("GROUP_CONCAT(`players`.`username` SEPARATOR ',') AS comma_username").joins(:user)
.joins(:accounts => :player)
這給了我下面的SQL:
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執行這個控制檯它的工作原理,但如果我嘗試從模型中獲取,我沒有得到逗號分隔值。
我錯過了什麼?