未定义变量:当我要显示数据库中的数据时发生数据错误。
这是我的代码
控制器
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);
}
刀片
<p>
@foreach($data as $dat)
{{$dat->zipcode}}
@endforeach
</p>
答案 0 :(得分:1)
更改控制器
freopen()
刀片更换
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]);
}
答案 1 :(得分:1)
您的代码中有一些错误。
if(!empty($ids)){
$results = DB::table('trial')->whereIn( 'id', $ids)->get();
}
删除了->where()
,where
子句没有条件。
添加了get()
,否则查询将不会返回任何结果。
return view('search.searchhome',compact('results'));
将data
更改为results
,因为其中包含您的数据。
dd($data);
删除dd()
,因为该函数在它之前返回,所以没有任何作用。
(我也建议您研究集合,而不是遍历第一个结果集)
答案 2 :(得分:1)
public function filter(Request $request)
{
$data = Trial::where('zipcode', $request->zipcode)->select('lat', 'lng')->first();
$zip = $request->input('zipcode');
$search = Trial::where(array('zipcode' => $zip))->get();
if(!isset($data)){
return view('home');
}
$lat = $data->lat;
$lng = $data->lng;
$distance = 25;
$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', $zip)->get();
}
return view('search.searchhome',['data' => $results]);
}