Laravel 中的原始相关性查询。怎么处理呢?

2023-12-07

我目前正在将一个大项目转移到 Laravel 框架http://hobbyathletes.com/events/south-america/all-event-types/all/。我需要迁移我的内部搜索引擎,它使用以下查询(如果搜索一个单词,此处附加预选选项 South America ):

SELECT *, (
 (CASE WHEN name LIKE '%searchthis%' THEN 1000 ELSE 0 END) + 
 (CASE WHEN name LIKE 'searchthis %' THEN 10 ELSE 0 END) + 
 (CASE WHEN name LIKE 'searchthis%' THEN 1 ELSE 0 END) + 
 (CASE WHEN name LIKE '% searchthis %' THEN 5 ELSE 0 END) + 
 (CASE WHEN city LIKE '%searchthis%' THEN 500 ELSE 0 END) + 
 (CASE WHEN city LIKE 'searchthis%' THEN 10 ELSE 0 END) + 
 (CASE WHEN city LIKE 'searchthis %' THEN 1 ELSE 0 END) + 
 (CASE WHEN city LIKE '% searchthis %' THEN 5 ELSE 0 END) + 
 (CASE WHEN country LIKE '%searchthis%' THEN 500 ELSE 0 END) + 
 (CASE WHEN country LIKE 'searchthis%' THEN 10 ELSE 0 END) + 
 (CASE WHEN country LIKE 'searchthis %' THEN 1 ELSE 0 END) + 
 (CASE WHEN country LIKE '% searchthis %' THEN 5 ELSE 0 END) + 
 (CASE WHEN homepage LIKE '%searchthis%' THEN 600 ELSE 0 END) + 
 (CASE WHEN headline LIKE '%searchthis%' THEN 100 ELSE 0 END) + 
 (CASE WHEN headline LIKE 'searchthis%' THEN 10 ELSE 0 END) + 
 (CASE WHEN headline LIKE 'searchthis %' THEN 1 ELSE 0 END) + 
 (CASE WHEN headline LIKE '% searchthis %' THEN 5 ELSE 0 END) + 
 (CASE WHEN description LIKE '%searchthis%' THEN 100 ELSE 0 END) + 
 (CASE WHEN description LIKE 'searchthis%' THEN 10 ELSE 0 END) + 
 (CASE WHEN description LIKE 'searchthis %' THEN 1 ELSE 0 END) + 
 (CASE WHEN description LIKE '% searchthis %' THEN 5 ELSE 0 END) + 
 (CASE WHEN distances LIKE '%searchthis%' THEN 100 ELSE 0 END) + 
 (CASE WHEN distances LIKE 'searchthis%' THEN 10 ELSE 0 END) + 
 (CASE WHEN distances LIKE 'searchthis %' THEN 1 ELSE 0 END) + 
 (CASE WHEN distances LIKE '% searchthis %' THEN 5 ELSE 0 END) + 
 (CASE WHEN date LIKE '%2014%' THEN 300 ELSE 0 END) + 
 (CASE WHEN name LIKE '%2014%' THEN 200 ELSE 0 END) + 
 (CASE WHEN date LIKE '%2013%' THEN 200 ELSE 0 END) + 
 (CASE WHEN name LIKE '%2013%' THEN 100 ELSE 0 END) 
) 
 AS relevance 
 FROM events 
 WHERE 
 (
 country = 'Argentina' or 
 country = 'Bolivia' or 
 country = 'Brazil' or 
 country = 'Chile' or 
 country = 'Colombia' or 
 country = 'Ecuador' or 
 country = 'Guyana' or 
 country = 'Paraguay' or 
 country = 'Peru' or 
 country = 'Suriname' or 
 country = 'Uganda' or 
 country = 'Uruguay' or 
 country = 'Venezuela'
 ) 
 AND
 ( 
 name LIKE '%searchthis%' OR 
 country LIKE '%searchthis%' OR 
 city LIKE '%searchthis%' OR 
 homepage LIKE '%searchthis%' OR 
 headline LIKE '%searchthis%' OR 
 description LIKE '%searchthis%' OR 
 distances LIKE '%searchthis%'
) 
ORDER BY relevance DESC

如何将此查询传输到 Eloquent 查询构建器?我已经尝试过了DB:raw($query)这似乎不起作用...尝试过急需的->paginate(25)->get(),全部不起作用。这里有人可以引导我走向正确的方向吗?


尝试使用 DB::select()

DB::select(DB::raw("
    SELECT * FROM bla bla bla  
"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 中的原始相关性查询。怎么处理呢? 的相关文章

  • 将 mysql LONGTEXT 值转换为 VARCHAR 值?

    我有一个在用户 Facebook 墙上发布的功能 我发送到 facebook 的一件事是我从设置为 LONGTEXT 的 mysql 表中获取的一些文本 如果我将表设置为 LONGTEXT 则文本不会发送到 facebook 但如果我将表设
  • 提交简单 PHP 表单时出现禁止错误

    我有一个不复杂的问题 这似乎比应有的更复杂 我有一个简单的表单 用于向网站添加内容 有些字段需要输入html 然而 当您在表单的不同部分输入某些 html 元素时 它会认为它讨厌您并抛出禁止的 403 错误 这是下面的表格
  • PHP FTP_PUT 上传到目录

    我正在自学PHP 一本名为 PHP完全参考 PHP5 2 的书 我目前正在使用第 11 章 FTP 上传 删除 makedir 等 但遇到了一些本书未涵盖的问题 根据我的教科书 这是上传到服务器的简单代码 connect ftp conne
  • MySQL 中的 UDF 性能

    我注意到 当查询在 SELECT 或 WHERE 子句中调用 UDF 时 MySQL 查询执行时间的性能会呈指数级下降 有问题的 UDF 查询本地表以返回标量值 因此它们不仅执行算术表达式 而且充当相关子查询 我通过简单地删除 UDF 并使
  • 与 PHP 相比,Python 与 HTML 的“流畅”程度如何?

    我正在考虑从使用 PHP 切换到使用 Python 来开发 Web 应用程序 但我想知道 Python 是否像 PHP 一样擅长在 HTML 中穿插 本质上 我发现它使用起来非常简单 直观将 PHP 放在我想要的位置 然后可以随意安排 组织
  • phpenmod 显示其他 php 版本的路径

    我的 Ubuntu 机器上安装了 php 7 0 和 7 2 当我执行时php v 它告诉我我正在使用 php 7 2 在 Apache 上我还启用了 php 7 2 当我跑步时phpenmode zip 我明白了 WARNING Modu
  • FPM 与 apache2 无法工作(权限被拒绝)

    我正在尝试使用 apache fastcgi 和 fpm 设置一个 Debian Web 服务器 但我越来越恼火 一旦我停用 mod php 我就会收到以下错误 2014 年 5 月 22 日星期四 12 16 10 错误 客户端 xxx
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • 错误代码 13,SELECT INTO OUTFILE 问题

    我试图了解使用 INTO OUTFILE 命令时不断遇到问题的原因 我总是收到这个错误 ERROR 1 HY000 Can t create write to file var www p1 txt Errcode 13 SELECT pa
  • php 包含打印 1

    我编写了以下代码 当我将 include 函数与旨在输出到页面的函数 例如 或 echo include foo php 结合使用时 它会返回包含内容 但在已包含的内容后面带有 1 echo include foo php 应该 inclu
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • 如何验证上传的文件是视频?

    我的服务器上有一些非常敏感的信息 因此安全性是一个大问题 用户需要能够上传视频 我知道允许用户上传文件会带来安全威胁 因为没有 100 的方法可以阻止他们上传非视频 但我显然可以选择服务器将保留哪些文件 我知道检查文件扩展名是不够的 检查
  • 创建rest api url以连接mysql数据库

    我想学习如何创建一个rest api url 以便我可以使用该url获取信息并将信息发布到我的mysql数据库中 谷歌搜索了很多并阅读了各种文章 但没有找到任何精确的内容可以学习 所有内容均以 about api 开头 以已创建的其余 ur
  • MySQL:空间查询查找纬度/经度点是否位于给定边界内

    我正在研究谷歌地图搜索功能 其目的是找出 地理位置 点是否位于多边形内 如下图所示 我使用带有 Spatial 扩展的 mysql 5 6 20 我知道它内置有用的几何函数 因此我可以直接从数据库查询地理编码位置 我的目的是熟悉地理空间函数
  • 什么是 PHP session_start()

    它是否基于 cookie 启动当前会话 从 PHP 网站上得到的 PHP如何控制会话 如果我在用户打开我的登录页面时启动会话 我什至可以使用该会话做什么 我可以使用当前会话来获取有关登录用户的信息吗 PHP 会话系统允许您将数据安全地存储在
  • 如何在 MySQL 中创建查询以根据日期和独特字段减去连续行?

    基于SQL根据日期和另一列减去两行 https stackoverflow com questions 12310221 sql subtract two rows based on date and another column我有一个好
  • 安装后步骤未成功完成 MySQL Mac OS Sierra

    pyEnv Anants MacBook Pro litibackend anantchandra brew postinstall mysql gt Postinstalling mysql gt usr local Cellar mys
  • Yii2 无效调用:设置只读属性

    我有一个Post具有多对多关系的模型Tags 在 Post 模型中定义 public function getTags return this gt hasMany Tags className id gt tag id gt viaTab
  • Nginx 安全链接模块不适用于 php 文件,但适用于静态文件

    我在用http nginx org en docs http ngx http secure link module html http nginx org en docs http ngx http secure link module
  • 在 Elasticsearch php API 中使用多种类型或索引

    我想使用查询多种类型和索引Elasticsearch PHP API 但我不知道怎么办 我应该将类型和索引的数组传递给 params params index index array of indices params type types

随机推荐