- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到错误:SQLSTATE[42P18]: Indeterminate datatype: 7 ERROR: could not determine data type of parameter $2 主要问题在 whereRaw()
在我的那部分代码中运行:
$result = $result->whereRaw(
"lower(translate(?, ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc')) LIKE lower(translate('%?%', ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc'))",
[
$field_where,
$value
]
);
但是当我得到结果查询并在我的 postgres 客户端中运行时,我没有得到任何错误。
那么……问题是什么?
SQLSTATE[42P18]: Indeterminate datatype: 7 ERROR: could not
determine data type of parameter $2 (SQL: select count(*) as
aggregate from "pace_records" left join "customers" on
"customers"."id" = "pace_records"."customer_id" left join "cities"
on "cities"."id" = "customers"."city_id" left join
"customer_subregions" on "customer_subregions"."id" =
"pace_records"."customer_subregion_id" left join "schools" on
"schools"."id" = "pace_records"."school_id" left join "programs" on
"programs"."id" = "pace_records"."program_id" left join "users" on
"users"."id" = "pace_records"."user_id" where
"pace_records"."deleted_at" is null and
lower(translate("cities"."name", ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc')) LIKE
lower(translate('%Arapi%', ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc')))
$result = static::joins();
if (isset(self::$searchable[$field])) {
$field_where = $field;
if (isset(self::$searchable[$field]['join_field'])) {
$field_where = self::$searchable[$field]['join_field'];
}
$result = $result->whereRaw(
"lower(translate(?, ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc')) LIKE lower(translate('%?%', ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc'))",
[
$field_where,
$value
]
);
}
return $result->orderBy('cities.name', 'ASC')
->orderBy('schools.name', 'ASC')
->orderBy('programs.name', 'ASC')
->paginate($maxPerPage);
如果您需要更多信息,请告诉我。
最佳答案
我目前的解决方案是连接值而不是使用参数。
像那样:
if (self::$searchable[$field]['type'] == 'LIKE') {
$result = $result->whereRaw("lower(translate($field_where, ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc'))
LIKE lower(translate('%$value%', ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc'))");
} else {
$result = $result->whereRaw("lower(translate($field_where, ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc'))
= lower(translate($value, ' ''àáâãäéèëêíìïîóòõöôúùüûçÇ', ' -aaaaaeeeeiiiiooooouuuucc'))");
}
可以,但我不喜欢那样做。
我会继续寻找其他解决方案。
关于php - Laravel 5 whereRaw 结果错误但返回的查询在 postgres 客户端中运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32148304/
嗨,我正在考虑开发一种文件传输程序,想知道我是否想要尽可能好的加密,我应该使用什么? 我会用 C# 开发它,所以我可以访问 .net 库 :P在我的 usb 上有一个证书来访问服务器是没有问题的,如果
我创建的这个计算两个数组的交集是线性的方法的复杂度(在良好、平均、最差的情况下)? O(n) public void getInt(int[] a,int[] b){ int i=0; int
我已经能够使用 RTCPeerConnection.getStats() API 获得 WebRTC 音频调用的各种统计信息(抖动、RTT、丢包等)。 我需要将整体通话质量评为优秀、良好、一般或差。
基本问题: 如果我正在讲述/修改数据,我应该通过索引硬编码索引访问文件的元素,即 targetFile.getElement(5);通过硬编码标识符(内部翻译成索引),即 target.getElem
在 Linux 上,我想知道要调用什么“C”API 来获取每个 CPU 的统计信息。 我知道并且可以从我的应用程序中读取 /proc/loadavg,但这是系统范围的负载平均值,而不是每个 CPU 的
在客户端浏览器中使用 fetch api,GET 或 POST 没有问题,但 fetch 和 DELETE 有问题。它似乎将 DELETE 请求方法更改为 OPTIONS。 大多数研究表明是一个cor
我是一名优秀的程序员,十分优秀!