【问题标题】:Laravel Group by nameLaravel 组的名称
【发布时间】:2020-06-22 06:48:15
【问题描述】:

我添加了一个文本框,当用户开始输入时,它会从数据库中提供建议。 如果数据库列中有相似的名称,它会通过重复建议所有名称。 当用户开始输入时,有什么方法可以让我只推荐一个类似的方法。

现在是这样显示的

有什么办法可以解决这个问题吗?

// ! Autocompletion
function auto(Request $request)
{
    if($request->get('query'))
    {
        $query = $request->get('query');
        $data = DB::table('store_food_city_new')
            ->where('district', 'LIKE', "%{$query}%")
            ->get();
        $output = '<ul class="dropdown-menu" style="display:block; position:relative">';
        foreach($data as $row)
        {
            $output .= '<li><a href="#">'.$row->district.'</a></li>';
        }
        $output .= '</ul>';
        echo $output;
    }
}

这是我的 Web.php

Route::post('store-locator/auto', 'Test\AllTestController@auto')->name('autocomplete.auto');

这是我的观点

<div class="container box">
    <h3 align="center">Ajax Autocomplete Textbox in Laravel using JQuery</h3><br />
    <div class="form-group">
        <input type="text" name="country_name" id="country_name" class="form-control input-lg" placeholder="Enter Country Name" />
        <div id="countryList"></div>
    </div>
    {{ csrf_field() }}
</div>

【问题讨论】:

    标签: php laravel laravel-5 eloquent


    【解决方案1】:

    使用select with distinct

    $data = DB::table('store_food_city_new')
        ->where('district', 'LIKE', "%{$query}%")
        ->select('district')->distinct()
        ->get();
    

    【讨论】:

    • 应该是&lt;li&gt;&lt;a href="#"&gt;'.$row-&gt;district.'&lt;/a&gt;&lt;/li&gt; 不是吗?
    • @Kalhan.Toress 谢谢,我会将答案更新为仅包含修改后的代码
    猜你喜欢
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 2015-07-20
    • 2017-03-08
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    相关资源
    最近更新 更多