为foreach()Laravel提供的参数无效

时间:2015-08-10 08:23:36

标签: php laravel

我是Laravel和PHP的新手,只是想在我的视图文件中使用dompdf所有详细信息城市导出为PDF,如下所示:

https://github.com/barryvdh/laravel-dompdf

@foreach($city as $detail)
<h1>Nama Kota : {{$detail->city_name}}</h1><br>
<h1>Size : {{$detail->size}}</h1><br>
<h1>Population : {{$detail>population}}</h1> 
@endforeach

和我的控制器

 public function export($id)
{
    $city=City::find($id);

    return $this->exportPdf($city);
}

public function exportPdf($city)
{
    $data['city'] = $city;
    $pdf = PDF::loadView('cities.PrintView',$data);
    return $pdf->download('capital.pdf');
}

我收到错误为foreach()提供的参数无效 我做错了什么?

2 个答案:

答案 0 :(得分:1)

AHA !!我知道我的错... ^^ 它应该是:

  public function exportPdf($city)
{
    $data['city'] = $city;
    $name = DB::table('cities')
        ->select('city_name','size','population')
        ->where('cities.id', 'LIKE', '%'.$city.'%')->distinct()
        ->get();
  //  dd($name);
    $pdf = PDF::loadView('cities.PrintView',compact('name'));
    return $pdf->download('capital.pdf');
}

答案 1 :(得分:0)

看起来你正在获取一个城市的单个实例,foreach语句将期望一个集合。

尝试dd($city=City::find($id));查看输出。

使用$city=City::all();将返回一个集合,然后foreach语句应该有效。

另外

loadView('cities.PrintView',compact('city'))