ãð»ãpluckã£ãŠãªããªãã (Rails)
Railsã®ã³ãŒãã§ããèŠããã©æ¯åãªã«ãã£ããå¿ãã¡ããã¡ãœããå人çNo.1ãpluckã
å€å倧åŠåéšãŸã§ã§åŠãã ããšã®ãªãåèªããããããããäœããŠãã®ãã®å€§ãŸããªã€ã¡ãŒãžããã€ããªãããèŠããããªããããªã
ãšããããšã§pluckããªãã®ã¡ãœãããªã®ãã ããã ã¡ã¢ããã ãã®èšäºã (ã-`Ï-)ðð»
ç¹å®ã®ã«ã©ã ã®å€ã ããååŸããŠãããActiveRecordã¡ãœãã
ç°¡åã«èšãã°âããããUserã£ãŠããã¢ãã«ããã£ãŠããã®äžã®nameã«ã©ã ã ãã®å€ããã ãã æ±ãããæãäžã¿ããã«æžãã°é
åã§è¿ããŠãããã¿ãããªãã€ã ã
æå®ããã«ã©ã ã®å€ã¯å
šéšååŸããŠããããããã®å Žåã ãšãUserã«ç»é²ãããŠããå
šéšã®ååãåãåºããŠãæãããªã
names = User.pluck(:name)
# => ['Alice', 'Bob', 'Charlie']
ã«ã©ã ã¯è€æ°æå®ãã§ãããpluck(:ã«ã©ã å1, : ã«ã©ã å2)ã®ãããªæãã
ãã®å Žåæ»ãå€ã¯äºæ¬¡å
é
åã«ãªãã
user_data = User.pluck(:id, :name)
# => [[1, 'Alice'], [2, 'Bob'], [3, 'Charlie']]
æ¯åºŠç§ãæã£ãŠãããŽããŽãèšäºã
ä»åã¯å€§ãŸããªã¡ãœããã®æŠèŠã ãç¥ãããOKãªã®ã§ã
倧äºãããªèŠç¹ã ãæãåã£ãŠçµãããã
ç¹å®ã®ã«ã©ã ã®ããŒã¿ãã䜿ããªãå Žé¢ã§ã¯ãpluckã¡ãœããïŒïŒïŒ
ãããããªãã¡ã¢ãªã®èªã¿èŸŒã¿å€ãã£ãŠããããããæ°ãã€ãããâŠïŒ
éã«æ¢ã«ã€ã³ã¹ã¿ã³ã¹åãããªããžã§ã¯ãããããŒã¿ãååŸããå Žåã¯ãmapã¡ãœããã䜿ã£ãæ¹ããè¯ãããïŒ
mapã¡ãœããã¯ã«ãŒãåŠçå
ã§ãSQLã®çºè¡ã1åã ããããïŒïŒ
pluckã¯ç¹å®ã®ã«ã©ã ã®å€ãé åã«ããŠè¿ãã¡ãœããïŒïŒä»¥äžïŒ