mysql - 如何在 laravel 5.2 中进行加权查询?
问题描述
我有一个搜索查询,我没有为此使用任何包。
$title = stopWords($title);
$query->where(function($q) use($title) {
for ($i = 0; $i < count($title); $i++)
{
if ( count($title) > 1 && $i == 0 )
continue;
if ( count($title) > 1 )
{
$q->orWhere('title', 'like', '%' . $title[$i - 1] . ' ' . $title[$i] . '%');
$q->orWhere('description', 'LIKE', '%' . $title[$i - 1] .' '.$title[$i]. '%');
}
else {
$q->orWhere('title', 'like', '%' . $title[$i] . '%');
$q->orWhere('description', 'LIKE', '%' . $title[$i] . '%');
}
}
});
我想给与标题匹配的记录比描述更多的权重,并按其权重对结果进行排序。
解决方案
推荐阅读
- javascript - 如何安装 Flatpickr 插件
- python - 如何将活页夹徽章添加到文档中,使其作为图像可见?
- typescript - 无法读取未定义的属性“客户端”
- python - 访问类中的上下文数据
- vue.js - 如何将放置事件添加到 Vuetify 日历
- ios - 无法加载文件列表的内容:'/Target Support Files/Pods-Target Name/Pods-Target Name-frameworks-Debug-input-files.xcfilelist'
- java - 如何获得 ActionBar “customView” 宽度
- python - 如何在 Tkinter 中删除我的条目小部件上的焦点和光标?
- reactjs - 不变违规:模块 AppRegistry 不是注册的可调用模块(调用 runApplication) - 反应原生
- python - 为什么 Selenium python 包中没有 expected_conditions all_of、none_of 和 any_of?