donglun4521 2019-05-29 08:50
浏览 77

未定义的变量:laravel中的数据

Undefined variable: data error occure when i want to display data from database.
Here is my code

Controller

public function filter(Request $request)
{

    $data = Trial::where('zipcode',$request->zipcode)->select('lat','lng')->first();
    $lat = $data->lat;
    $lng = $data->lng;
    $distance = 5 ;// Diatanse in kms
    $query = Trial::getByDistance($lat, $lng, $distance);

    $ids = [];
    //Extract the id's
    if(!empty($query)) {
        foreach($query as $q)
        {
            array_push($ids, $q->id);
        }
    }

    // Now write final query 
    if(!empty($ids)){
        $results = DB::table('trial')->whereIn( 'id', $ids)->where('zipcode');
    }

    return view('search.searchhome',compact('data',$data));
    dd($data);

}

Blade

<p>
@foreach($data as $dat)
    {{$dat->zipcode}}
@endforeach                           
</p>
  • 写回答

2条回答 默认 最新

  • dporu02280 2019-05-29 08:57
    关注

    Change in controller

    public function filter(Request $request)
    {
    
        $data = Trial::where('zipcode',$request->zipcode)->select('lat','lng')->first();
        $lat = $data->lat;
        $lng = $data->lng;
        $distance = 5 ;// Diatanse in kms
        $query = Trial::getByDistance($lat, $lng, $distance);
    
        $ids = [];
        //Extract the id's
        if(!empty($query)) {
            foreach($query as $q)
            {
                array_push($ids, $q->id);
            }
        }
    
        // Now write final query 
        if(!empty($ids)){
            $results = DB::table('trial')->whereIn( 'id', $ids)->get();
        }
    
        return view('search.searchhome',['data' => $results]);
    }
    

    Change in blade

    <p>
    @foreach($data as $dat)
        {{$dat->zipcode}}
    @endforeach                           
    </p>
    
    评论

报告相同问题?