尝试将ajax自动完成集成到我在laravel中的创建记录中

尝试将ajax自动完成集成到我在laravel中的创建记录中,ajax,laravel,autocomplete,Ajax,Laravel,Autocomplete,我发现一个ajax自动完成,我不想把它集成到我的表单中,但我不能让它工作。请告知,谢谢 [控制器] <?php namespace App\Http\Controllers; use App\Purchasetransactions; use App\AjaxAutocompleteController; use App\Products; use App\Categories; use Illuminate\Http\Request; use Illuminate\Support\Fac

我发现一个ajax自动完成,我不想把它集成到我的表单中,但我不能让它工作。请告知,谢谢

[控制器]

<?php
namespace App\Http\Controllers;
use App\Purchasetransactions;
use App\AjaxAutocompleteController;
use App\Products;
use App\Categories;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;

class PurchasetransactionsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $purchasetransactions = Purchasetransactions::all();
        return view('orders.index', compact('purchasetransactions'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('orders.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $purchasetransactions = Purchasetransactions::create($request->only('products_code','name'));
        return redirect(route('orders.index'));
    }

    /** Auto Complete */
    public function productSearch(Request $request){
        $query = $request->get('term','');
        $products=\DB::table('products');
        if($request->type=='product_code'){
            $products->where('product_code','LIKE','%'.$query.'%');
        }
        if($request->type=='product_name'){
            $products->where('name','LIKE','%'.$query.'%');
        }
        $products=$products->get();        
        $data=array();
        foreach ($products as $product) {
            $data[]=array('product_code'=>$product->product_code,'name'=>$product->name);
        }
        if(count($data))
            return $data;
        else
            return ['product_code'=>'','name'=>''];
    }

}

我在laravel中的输入字段中添加了多个自动完成搜索,每次实现它时,我都必须对其进行备份。这对我有用。这是我正在搜索的匹配缩写的输入

 <div class="input-group">
     @if(isset($_GET['variable_name']))
         <input value="{{$_GET['variable_name']}}" type="search" name="variable_name" class="form-control" id="variable_name" autocomplete="off">
    @else
        <input type="search" name="variable_name" class="form-control" id="variable_name" placeholder="Search" autocomplete="off">
   @endif
</div>
我的路线:

Route::get('/find', 'PagesController@find')->name('typeahead.search');
图书馆:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

还需要bloodhound.js和tyepahead.jquery

public function find(Request $request) {

    $result=Abbreviation::where('abbreviation', 'LIKE', "%{$request->input('variable_name')}%")
        ->orWhere('name', 'LIKE', "%{$request->input('variable_name')}%")->get();
    return response()->json($result);

}
Route::get('/find', 'PagesController@find')->name('typeahead.search');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>