コントローラで非常に多くの行を取得し、それをビューにディスパッチする方法を知りたいと思います。私の現在のコードは以下のように見えます。laravel 5で大きなテーブルを選択する
これはコントローラです。
$users = \App\Models\User::select ('id','first_name','last_name','created_at')
->where('friend_id', '=', 0)
->orderBy('created_at')->get();
return view('layouts.users.friends', compact('users'));
これは図です。
@if (!empty($users))
@foreach($users as $user)
<tr>
<?php $count++ ?>
<td>
{!! $user->id !!}
</td>
<td>{!! $user->first_name .' ' .$user->last_name !!}</td>
<td> {!! $user->created_at->format("d-m-y") !!} </td>
</tr>
@endforeach
@endif
今私は、テーブルに40,000行を持っている、とするとき、メモリoutofビューのエラー・コード500を、取得しよう。私はすべての行を取得する必要があります。何をすべきかアドバイスしてください。ここに。私はlaravel 5チャンクについて聞いたことがあります。それを誰に表示するかは分かりません。助けてください。
ページネーションを試しますか?たとえば、1ページあたり10行または100行しか得られませんか? –
私はデータを表示した後にExcelファイルを作成しなければならないので、ページングはできません。ビューに表示されます。 excelプラグインは改ページをサポートしていません – Muhabutti
'php.ini'の 'memory_limit'をチェックしましたか? –