gpt4 book ai didi

ruby-on-rails - collection_select concat firstname 和 lastname 具有相同的 id

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:59 26 4
gpt4 key购买 nike

我正在尝试获取具有相同 ID 的名字和姓氏。
我的表架构如下所示:

| id | nameable_id | nameable_type | value | type      |
| 1 | 2 | Person | John | Firstname |
| 2 | 2 | Person | Doe | Lastname |

我想使用具有预期输出的 collection_select:

<select name="source[person_id]" id="source_person_id">
<option value="2">John Doe</option></select>`

如何将这些值与相同的 nameable_id 连接起来,然后按名字顺序排列姓氏?

最佳答案

试试这个:

collection_select(:source, :person_id, Source.select("sources.id, GROUP_CONCAT(sources.value separator ' ') as name").group("sources.nameable_type,sources.nameable_id"), :id, :name, prompt: true)

Group_concat 仅适用于 mysql。如果你使用其他数据库:

  • PostgreSQL: string_agg(sources.name, ' ')
  • Oracle: listagg(sources.name, ' ')

关于ruby-on-rails - collection_select concat firstname 和 lastname 具有相同的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41571850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com