首页 > 解决方案 > 如何在 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] . '%');
        }
    }
});

我想给与标题匹配的记录比描述更多的权重,并按其权重对结果进行排序。

标签: mysqllaraveleloquentlaravel-5.2

解决方案


推荐阅读