gpt4 book ai didi

mysql - Ecto 不允许 mysql 全文搜索的片段参数

转载 作者:行者123 更新时间:2023-11-29 01:35:48 27 4
gpt4 key购买 nike

我正在尝试使用片段在 ecto 中实现全文搜索。但是,它抛出一个错误,它不允许我使用搜索词的参数。

parameters must be of length 1 for query %Mariaex.Query

ZB.Repo.all(
from contact in ZB.Contact,
where: contact.account_id == ^account_id,
where: fragment("MATCH (name,email,phone,address_1,city,state,postal_code) AGAINST ('?*' IN BOOLEAN MODE)", ^search_term)
)

最佳答案

fragment 中的

? 不是纯字符串替换。您需要在片段 SQL 之外附加 *,并且片段 SQL 应该只有 (? IN BOOLEAN MODE)

改变:

fragment("... AGAINST ('?*' IN BOOLEAN MODE)", ^search_term)

收件人:

fragment("... AGAINST (? IN BOOLEAN MODE)", ^(search_term <> "*"))

关于mysql - Ecto 不允许 mysql 全文搜索的片段参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46698639/

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