如何使用AJAX从数据库检索数据

时间:2020-04-17 12:59:18

标签: ajax laravel

我想从数据库检索数据到我的用户仪表板。用户使用联系号码进行识别。

我运行AJAX查询以检索所有添加项。运行良好。

但是我需要在他的用户ID(ContactNo)下检索数据。在这里,我添加了AJAX代码。

user data avaiable in AUTH -> {{ Auth::user()->ContactNo }}

$(document).ready(function($){
  //alert("jquery running");
  getAll();

});

  //getting all rows from the database
    function getAll() {

        $.ajax({
            url: '{{ route('Myadds', app()->getLocale()) }}',
            type: 'GET',

        })
        .done(function(data) {
      alert("run")
        $.each(data, function(index, val) {
             $('#data').append('<tr>')
             $('#data').append('<td>'+val.id+'</td>')
             $('#data').append('<td>'+val.Sdescription+'</td>')
             $('#data').append('<td>'+val.created_at+'</td>')
             $('#data').append('<td><button class="btn btn-xs btn-danger" data-id="'+val.id+'">Delete</button><button class="btn btn-xs btn-info" data-id="'+val.id+'">Edit</button></td>')
             $('#data').append('</tr>')
        });
        })
        .fail(function() {
      alert("fail")
            console.log("error");
        })

    }

</script>

2 个答案:

答案 0 :(得分:0)

您需要在查询中传递de contactNo参数:

  function getAll() {

        $.ajax({
            url: '{{ route('Myadds', app()->getLocale()) }}',
            type: 'GET',
            data: { 
              contact_no: contactNo, 
            },
        })
        .done(function(data) {
        alert("run")
        $.each(data, function(index, val) {
             $('#data').append('<tr>')
             $('#data').append('<td>'+val.id+'</td>')
             $('#data').append('<td>'+val.Sdescription+'</td>')
             $('#data').append('<td>'+val.created_at+'</td>')
             $('#data').append('<td><button class="btn btn-xs btn-danger" data-id="'+val.id+'">Delete</button><button class="btn btn-xs btn-info" data-id="'+val.id+'">Edit</button></td>')
             $('#data').append('</tr>')
        });
        })
        .fail(function() {
      alert("fail")
            console.log("error");
        })

    }

因此,现在您可以在控制器中进行过滤:

public function getData(Request $request){
     $contact_no = $request->contact_no; 
     
     $query = DB::table('my_table');
     
     if($contact_no){
        $query->where('contact_no',$contact_no)
     }
     
    return response()->json($query->get());
}

或直接使用用户会话:

public function getData(Request $request){
     $contact_no = Auth::user()->ContactNo; 
     
     $query = DB::table('my_table');
     
     $query->where('contact_no',$contact_no)

    return response()->json($query->get());
}

答案 1 :(得分:0)

    public function Myadds(){

        try{
            return add::where('userID', Auth::user()->ContactNo)->get();  


        }catch(Exception $e){
            return 'false';
        }
        }