2015-08-10 4 views
1

Я новичок в Laravel и PHP, просто пытаются экспортировать в PDF, используя DOMPDF все детали города в моем файле представления, как это:Недействительный аргумент для Еогеасп() Laravel

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'); 
} 

и я получил ошибки Недействительного аргумент для Еогеаспа() Что я делаю неправильно?

+1

вы не передать переменную в вашем представлении? – aldrin27

+0

@ aldrin27 i pass $ city variable –

ответ

0

Похоже, что вы выбираете один экземпляр города, оператор foreach ожидает коллекцию.

Попробуйте dd($city=City::find($id)); для просмотра результата.

Используйте $city=City::all();, который вернет коллекцию, а затем заявление foreach должно работать.

Также

попробовать

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

+0

не работает .. @nathanmac –

+0

Был ли 'dd ($ city = City :: find ($ id));' возвращать что-нибудь? – nathanmac

+0

Я пытаюсь dd ($ city); не возвращай ничего .. может быть, я совершенно не прав: '( –

1

АГА !! я знаю, что мои ошибки ... ^^ должно быть:

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'); 
} 
Смежные вопросы