首页 > 解决方案 > Laravel Ajax 实时搜索关系

问题描述

Laravel ajax 实时搜索不起作用。在控制台浏览器中,他写了一个 500 错误。问题是这种关系。如果我不使用它的关系,ajax live sarch 就可以了。如何编辑我的代码才能工作?这里的代码,准确地说:

$contract->typzakazky->nazov_typu.

我的模型:

public function typzakazky()
{
    return $this->belongsTo('App\ContractsType','contracts_type_id');
}

控制器:

    public function index()
{
    return view('contracts.index');

}
public function search(Request $request)

{

    if ($request->ajax()) {

        $output = "";

        $contracts = DB::table('contracts')->where('nazov', 'LIKE', '%' . $request->search . "%")->get();

        if ($contracts) {

            foreach ($contracts as $key => $contract) {

                $output .= '<tr>' .

                    '<td>' . $contract->poradove_cislo . '</td>' .

                    '<td>' . $contract->nazov . '</td>' .

                    '<td>' . $contract->typzakazky->nazov_typu. '</td>' .

                    '<td>' . $contract->datumodovzdania. '</td>' .

                    '</tr>';

            }


            return Response($output);


        }


    }
}

看法:

...
    <script type="text/javascript">
    $('#search').on('keyup',function(){
        $value=$(this).val();
        $.ajax({
            type : 'get',
            url : '{{URL::to('search')}}',
            data:{'search':$value},
            success:function(data){
                $('tbody').html(data);
            }
        });
    })
</script>

<script type="text/javascript">
    $.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });
</script>

如何在ajax中正确使用它的关系?非常感谢。

标签: ajaxlaraveleloquent

解决方案


推荐阅读