<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yuki Shiroi</title>
    <description>The latest articles on DEV Community by Yuki Shiroi (@yuki_shiroi_4).</description>
    <link>https://dev.to/yuki_shiroi_4</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3932029%2Fb347ef72-1723-474c-a5be-07d127079d49.png</url>
      <title>DEV Community: Yuki Shiroi</title>
      <link>https://dev.to/yuki_shiroi_4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yuki_shiroi_4"/>
    <language>en</language>
    <item>
      <title>sample laravel set up easy</title>
      <dc:creator>Yuki Shiroi</dc:creator>
      <pubDate>Thu, 14 May 2026 22:01:31 +0000</pubDate>
      <link>https://dev.to/yuki_shiroi_4/reports-generatio-sample-laravel-1dhe</link>
      <guid>https://dev.to/yuki_shiroi_4/reports-generatio-sample-laravel-1dhe</guid>
      <description>&lt;p&gt;PART 1: Setup&lt;/p&gt;

&lt;p&gt;composer create-project laravel/laravel fruit-system&lt;br&gt;
cd fruit-system&lt;br&gt;
Create database in phpMyAdmin:&lt;/p&gt;

&lt;p&gt;fruit_db&lt;br&gt;
Edit .env:&lt;/p&gt;

&lt;p&gt;DB_DATABASE=fruit_db&lt;br&gt;
DB_USERNAME=root&lt;br&gt;
DB_PASSWORD=&lt;/p&gt;

&lt;p&gt;Install Breeze:&lt;/p&gt;

&lt;p&gt;composer require laravel/breeze --dev&lt;br&gt;
php artisan breeze:install blade&lt;br&gt;
php artisan migrate&lt;br&gt;
npm install&lt;br&gt;
npm run build&lt;br&gt;
Install Bootstrap UI and PDF only:&lt;/p&gt;

&lt;p&gt;npm uninstall tailwindcss postcss autoprefixer&lt;/p&gt;

&lt;p&gt;composer require aldhix/breeze-bootstrap-ui&lt;br&gt;
php artisan breeze-bootstrap-ui:install --force&lt;br&gt;
composer require barryvdh/laravel-dompdf&lt;br&gt;
npm install&lt;br&gt;
npm run build&lt;br&gt;
Create files:&lt;/p&gt;

&lt;p&gt;php artisan make:model Fruit -mcr&lt;br&gt;
php artisan make:controller ReportController&lt;/p&gt;

&lt;p&gt;PART 2: Migration&lt;br&gt;
Open database/migrations/xxxx_create_fruits_table.php:&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;use Illuminate\Database\Migrations\Migration;&lt;br&gt;
use Illuminate\Database\Schema\Blueprint;&lt;br&gt;
use Illuminate\Support\Facades\Schema;&lt;/p&gt;

&lt;p&gt;return new class extends Migration&lt;br&gt;
{&lt;br&gt;
    public function up(): void&lt;br&gt;
    {&lt;br&gt;
        Schema::create('fruits', function (Blueprint $table) {&lt;br&gt;
            $table-&amp;gt;id();&lt;br&gt;
            $table-&amp;gt;string('name');&lt;br&gt;
            $table-&amp;gt;string('category');&lt;br&gt;
            $table-&amp;gt;decimal('price', 8, 2);&lt;br&gt;
            $table-&amp;gt;integer('stock');&lt;br&gt;
            $table-&amp;gt;text('description')-&amp;gt;nullable();&lt;br&gt;
            $table-&amp;gt;boolean('is_available')-&amp;gt;default(true);&lt;br&gt;
            $table-&amp;gt;timestamps();&lt;br&gt;
        });&lt;br&gt;
    }&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function down(): void
{
    Schema::dropIfExists('fruits');
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;};&lt;br&gt;
Run:&lt;/p&gt;

&lt;p&gt;php artisan migrate&lt;br&gt;
PART 3: Model&lt;br&gt;
Open app/Models/Fruit.php:&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;namespace App\Models;&lt;/p&gt;

&lt;p&gt;use Illuminate\Database\Eloquent\Model;&lt;/p&gt;

&lt;p&gt;class Fruit extends Model&lt;br&gt;
{&lt;br&gt;
    protected $fillable = [&lt;br&gt;
        'name',&lt;br&gt;
        'category',&lt;br&gt;
        'price',&lt;br&gt;
        'stock',&lt;br&gt;
        'description',&lt;br&gt;
        'is_available',&lt;br&gt;
    ];&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;protected $casts = [
    'is_available' =&amp;gt; 'boolean',
];
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;br&gt;
PART 4: Routes&lt;br&gt;
Open routes/web.php and use this:&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;use App\Http\Controllers\FruitController;&lt;br&gt;
use App\Http\Controllers\ProfileController;&lt;br&gt;
use App\Http\Controllers\ReportController;&lt;br&gt;
use Illuminate\Support\Facades\Route;&lt;/p&gt;

&lt;p&gt;Route::middleware('auth')-&amp;gt;group(function () {&lt;br&gt;
    Route::get('/', function () {&lt;br&gt;
        return redirect()-&amp;gt;route('fruits.index');&lt;br&gt;
    });&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::get('/dashboard', function () {
    return view('dashboard');
})-&amp;gt;name('dashboard');

Route::resource('fruits', FruitController::class);

Route::get('/reports', [ReportController::class, 'index'])-&amp;gt;name('reports.index');
Route::get('/reports/pdf', [ReportController::class, 'exportPdf'])-&amp;gt;name('reports.pdf');
Route::get('/reports/csv', [ReportController::class, 'exportCsv'])-&amp;gt;name('reports.csv');

Route::get('/profile', [ProfileController::class, 'edit'])-&amp;gt;name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])-&amp;gt;name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])-&amp;gt;name('profile.destroy');
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;});&lt;/p&gt;

&lt;p&gt;require &lt;strong&gt;DIR&lt;/strong&gt;.'/auth.php';&lt;br&gt;
Important: use reports.csv, not reports.excel.&lt;/p&gt;

&lt;p&gt;PART 5: Fruit Controller&lt;br&gt;
Open app/Http/Controllers/FruitController.php:&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;namespace App\Http\Controllers;&lt;/p&gt;

&lt;p&gt;use App\Models\Fruit;&lt;br&gt;
use Illuminate\Http\Request;&lt;/p&gt;

&lt;p&gt;class FruitController extends Controller&lt;br&gt;
{&lt;br&gt;
    public function index()&lt;br&gt;
    {&lt;br&gt;
        $fruits = Fruit::latest()-&amp;gt;paginate(10);&lt;br&gt;
        return view('fruits.index', compact('fruits'));&lt;br&gt;
    }&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function create()
{
    return view('fruits.create');
}

public function store(Request $request)
{
    $request-&amp;gt;validate([
        'name' =&amp;gt; 'required|string|max:255',
        'category' =&amp;gt; 'required|string',
        'price' =&amp;gt; 'required|numeric|min:0',
        'stock' =&amp;gt; 'required|integer|min:0',
        'description' =&amp;gt; 'nullable|string',
    ]);

    $data = $request-&amp;gt;all();
    $data['is_available'] = $request-&amp;gt;has('is_available') ? 1 : 0;

    Fruit::create($data);

    return redirect()-&amp;gt;route('fruits.index')
        -&amp;gt;with('success', 'Fruit added successfully!');
}

public function show(Fruit $fruit)
{
    return view('fruits.show', compact('fruit'));
}

public function edit(Fruit $fruit)
{
    return view('fruits.edit', compact('fruit'));
}

public function update(Request $request, Fruit $fruit)
{
    $request-&amp;gt;validate([
        'name' =&amp;gt; 'required|string|max:255',
        'category' =&amp;gt; 'required|string',
        'price' =&amp;gt; 'required|numeric|min:0',
        'stock' =&amp;gt; 'required|integer|min:0',
        'description' =&amp;gt; 'nullable|string',
    ]);

    $data = $request-&amp;gt;all();
    $data['is_available'] = $request-&amp;gt;has('is_available') ? 1 : 0;

    $fruit-&amp;gt;update($data);

    return redirect()-&amp;gt;route('fruits.index')
        -&amp;gt;with('success', 'Fruit updated successfully!');
}

public function destroy(Fruit $fruit)
{
    $fruit-&amp;gt;delete();

    return redirect()-&amp;gt;route('fruits.index')
        -&amp;gt;with('success', 'Fruit deleted successfully!');
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;br&gt;
PART 6: Report Controller&lt;br&gt;
Open app/Http/Controllers/ReportController.php:&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;namespace App\Http\Controllers;&lt;/p&gt;

&lt;p&gt;use App\Models\Fruit;&lt;br&gt;
use Barryvdh\DomPDF\Facade\Pdf;&lt;br&gt;
use Illuminate\Http\Request;&lt;/p&gt;

&lt;p&gt;class ReportController extends Controller&lt;br&gt;
{&lt;br&gt;
    public function index(Request $request)&lt;br&gt;
    {&lt;br&gt;
        $query = Fruit::query();&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    if ($request-&amp;gt;filled('category')) {
        $query-&amp;gt;where('category', $request-&amp;gt;category);
    }

    if ($request-&amp;gt;filled('availability')) {
        $query-&amp;gt;where('is_available', $request-&amp;gt;availability);
    }

    $fruits = $query-&amp;gt;get();
    $categories = Fruit::distinct()-&amp;gt;orderBy('category')-&amp;gt;pluck('category');

    return view('reports.index', compact('fruits', 'categories'));
}

public function exportPdf(Request $request)
{
    $query = Fruit::query();

    if ($request-&amp;gt;filled('category')) {
        $query-&amp;gt;where('category', $request-&amp;gt;category);
    }

    if ($request-&amp;gt;filled('availability')) {
        $query-&amp;gt;where('is_available', $request-&amp;gt;availability);
    }

    $fruits = $query-&amp;gt;get();

    return Pdf::loadView('reports.pdf', compact('fruits'))
        -&amp;gt;download('fruit-report.pdf');
}

public function exportCsv(Request $request)
{
    $query = Fruit::query();

    if ($request-&amp;gt;filled('category')) {
        $query-&amp;gt;where('category', $request-&amp;gt;category);
    }

    if ($request-&amp;gt;filled('availability')) {
        $query-&amp;gt;where('is_available', $request-&amp;gt;availability);
    }

    $fruits = $query-&amp;gt;get();

    $headers = [
        'Content-Type' =&amp;gt; 'text/csv',
        'Content-Disposition' =&amp;gt; 'attachment; filename="fruit-report.csv"',
    ];

    $callback = function () use ($fruits) {
        $file = fopen('php://output', 'w');

        fputcsv($file, ['Name', 'Category', 'Price/kg', 'Stock', 'Available', 'Description']);

        foreach ($fruits as $fruit) {
            fputcsv($file, [
                $fruit-&amp;gt;name,
                $fruit-&amp;gt;category,
                $fruit-&amp;gt;price,
                $fruit-&amp;gt;stock,
                $fruit-&amp;gt;is_available ? 'Yes' : 'No',
                $fruit-&amp;gt;description ?? 'N/A',
            ]);
        }

        fclose($file);
    };

    return response()-&amp;gt;stream($callback, 200, $headers);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;&lt;a href="{{%20route('reports.csv',%20request()-&amp;gt;query())%20}}%22&amp;lt;br&amp;gt;%0A%20%20%20class=%22btn%20btn-success%22&amp;gt;Export%20CSV&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;%0AAnd%20remove%20any%20Excel%20export%20code/files.&amp;lt;/p&amp;gt;%0A%0A&amp;lt;p&amp;gt;Important%20Layout%20Fix&amp;lt;br&amp;gt;%0AOpen%20resources/views/layouts/app.blade.php.&amp;lt;/p&amp;gt;%0A%0A&amp;lt;p&amp;gt;Find%20this:&amp;lt;/p&amp;gt;%0A%0A&amp;lt;p&amp;gt;&amp;lt;main%20class="&gt;&lt;br&gt;
    {{ $slot }}&lt;br&gt;
&lt;br&gt;
Replace with this:&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
    @hasSection('content')&lt;br&gt;
        @yield('content')&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/else"&gt;@else&lt;/a&gt;&lt;br&gt;
        {{ $slot ?? '' }}&lt;br&gt;
    @endif&lt;br&gt;
&lt;br&gt;
Navigation&lt;br&gt;
Open resources/views/layouts/navigation.blade.php.&lt;/p&gt;

&lt;p&gt;Inside the left-side nav area, add or fix these links:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
        
            Fruits
        
    &lt;/li&gt;

    &lt;li&gt;
        
            Reports
        
    &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;fruits/index.blade.php&lt;br&gt;
Create/open resources/views/fruits/index.blade.php:&lt;/p&gt;

&lt;p&gt;@extends('layouts.app')&lt;/p&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/section"&gt;@section&lt;/a&gt;('content')&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    &amp;lt;h2&amp;gt;Fruit Products&amp;lt;/h2&amp;gt;
    &amp;lt;a href="{{%20route('fruits.create')%20}}"&amp;gt;+ Add Fruit&amp;lt;/a&amp;gt;


@if(session('success'))
    {{ session('success') }}
@endif

&amp;lt;table&amp;gt;
    &amp;lt;thead&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Price/kg&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Stock&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Status&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Actions&amp;lt;/th&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/thead&amp;gt;

    &amp;lt;tbody&amp;gt;
        @forelse($fruits as $fruit)
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;{{ $fruit-&amp;amp;gt;name }}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;{{ $fruit-&amp;amp;gt;category }}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;₱{{ number_format($fruit-&amp;amp;gt;price, 2) }}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;{{ $fruit-&amp;amp;gt;stock }} kg&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
                    @if($fruit-&amp;amp;gt;is_available)
                        &amp;lt;span&amp;gt;Available&amp;lt;/span&amp;gt;
                    @else
                        &amp;lt;span&amp;gt;Out of Stock&amp;lt;/span&amp;gt;
                    @endif
                &amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
                    &amp;lt;a href="{{%20route('fruits.show',%20$fruit)%20}}"&amp;gt;View&amp;lt;/a&amp;gt;
                    &amp;lt;a href="{{%20route('fruits.edit',%20$fruit)%20}}"&amp;gt;Edit&amp;lt;/a&amp;gt;


                        @csrf
                        @method('DELETE')

                        Delete

                &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        @empty
            &amp;lt;tr&amp;gt;
                &amp;lt;td colspan="6"&amp;gt;No fruits yet. Add one!&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        @endforelse
    &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;

{{ $fruits-&amp;amp;gt;links() }}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;@endsection&lt;br&gt;
fruits/create.blade.php&lt;br&gt;
Create/open resources/views/fruits/create.blade.php:&lt;/p&gt;

&lt;p&gt;@extends('layouts.app')&lt;/p&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/section"&gt;@section&lt;/a&gt;('content')&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h2&amp;gt;Add New Fruit&amp;lt;/h2&amp;gt;

@if($errors-&amp;amp;gt;any())

        @foreach($errors-&amp;amp;gt;all() as $error)
            {{ $error }}
        @endforeach

@endif


    @csrf


        Fruit Name




        Category

            -- Select Category --

            @foreach(['Citrus', 'Berry', 'Tropical', 'Stone Fruit', 'Melon', 'Other'] as $cat)

                    {{ $cat }}

            @endforeach




        Price per kg (₱)




        Stock Quantity (kg)




        Description (Optional)
        {{ old('description') }}






            Available for Sale



    Add Fruit
    &amp;lt;a href="{{%20route('fruits.index')%20}}"&amp;gt;Cancel&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;@endsection&lt;br&gt;
fruits/edit.blade.php&lt;br&gt;
Create/open resources/views/fruits/edit.blade.php:&lt;/p&gt;

&lt;p&gt;@extends('layouts.app')&lt;/p&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/section"&gt;@section&lt;/a&gt;('content')&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h2&amp;gt;Edit - {{ $fruit-&amp;amp;gt;name }}&amp;lt;/h2&amp;gt;

@if($errors-&amp;amp;gt;any())

        @foreach($errors-&amp;amp;gt;all() as $error)
            {{ $error }}
        @endforeach

@endif


    @csrf
    @method('PUT')


        Fruit Name




        Category

            @foreach(['Citrus', 'Berry', 'Tropical', 'Stone Fruit', 'Melon', 'Other'] as $cat)
                category) == $cat ? 'selected' : '' }}&amp;amp;gt;
                    {{ $cat }}

            @endforeach




        Price per kg (₱)




        Stock Quantity (kg)




        Description
        {{ old('description', $fruit-&amp;amp;gt;description) }}




            is_available) ? 'checked' : '' }}&amp;amp;gt;

            Available for Sale



    Update Fruit
    &amp;lt;a href="{{%20route('fruits.index')%20}}"&amp;gt;Cancel&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;@endsection&lt;br&gt;
fruits/show.blade.php&lt;br&gt;
Create/open resources/views/fruits/show.blade.php:&lt;/p&gt;

&lt;p&gt;@extends('layouts.app')&lt;/p&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/section"&gt;@section&lt;/a&gt;('content')&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h2&amp;gt;{{ $fruit-&amp;amp;gt;name }}&amp;lt;/h2&amp;gt;


    &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Category:&amp;lt;/strong&amp;gt; {{ $fruit-&amp;amp;gt;category }}&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Price per kg:&amp;lt;/strong&amp;gt; ₱{{ number_format($fruit-&amp;amp;gt;price, 2) }}&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Stock:&amp;lt;/strong&amp;gt; {{ $fruit-&amp;amp;gt;stock }} kg&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Description:&amp;lt;/strong&amp;gt; {{ $fruit-&amp;amp;gt;description ?? 'No description provided.' }}&amp;lt;/p&amp;gt;

    &amp;lt;p&amp;gt;
        &amp;lt;strong&amp;gt;Status:&amp;lt;/strong&amp;gt;

        @if($fruit-&amp;amp;gt;is_available)
            &amp;lt;span&amp;gt;Available&amp;lt;/span&amp;gt;
        @else
            &amp;lt;span&amp;gt;Out of Stock&amp;lt;/span&amp;gt;
        @endif
    &amp;lt;/p&amp;gt;

    &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Added:&amp;lt;/strong&amp;gt; {{ $fruit-&amp;amp;gt;created_at-&amp;amp;gt;format('F d, Y') }}&amp;lt;/p&amp;gt;


&amp;lt;a href="{{%20route('fruits.edit',%20$fruit)%20}}"&amp;gt;Edit&amp;lt;/a&amp;gt;
&amp;lt;a href="{{%20route('fruits.index')%20}}"&amp;gt;Back&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;@endsection&lt;br&gt;
reports/index.blade.php&lt;br&gt;
Create/open resources/views/reports/index.blade.php:&lt;/p&gt;

&lt;p&gt;@extends('layouts.app')&lt;/p&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/section"&gt;@section&lt;/a&gt;('content')&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h2&amp;gt;Fruit Reports&amp;lt;/h2&amp;gt;



        Filter by Category

            -- All Categories --

            @foreach($categories as $cat)

                    {{ $cat }}

            @endforeach




        Filter by Availability

            -- All --

                Available


                Out of Stock





        Filter
        &amp;lt;a href="{{%20route('reports.index')%20}}"&amp;gt;Reset&amp;lt;/a&amp;gt;




    &amp;lt;a href="{{%20route('reports.pdf',%20request()-&amp;amp;gt;query())%20}}"&amp;gt;
        Export PDF
    &amp;lt;/a&amp;gt;

    &amp;lt;a href="{{%20route('reports.csv',%20request()-&amp;amp;gt;query())%20}}"&amp;gt;
        Export CSV
    &amp;lt;/a&amp;gt;


&amp;lt;p&amp;gt;Showing &amp;lt;strong&amp;gt;{{ $fruits-&amp;amp;gt;count() }}&amp;lt;/strong&amp;gt; result(s)&amp;lt;/p&amp;gt;

&amp;lt;table&amp;gt;
    &amp;lt;thead&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Price/kg&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Stock&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Status&amp;lt;/th&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/thead&amp;gt;

    &amp;lt;tbody&amp;gt;
        @forelse($fruits as $fruit)
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;{{ $fruit-&amp;amp;gt;name }}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;{{ $fruit-&amp;amp;gt;category }}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;₱{{ number_format($fruit-&amp;amp;gt;price, 2) }}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;{{ $fruit-&amp;amp;gt;stock }} kg&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
                    @if($fruit-&amp;amp;gt;is_available)
                        &amp;lt;span&amp;gt;Available&amp;lt;/span&amp;gt;
                    @else
                        &amp;lt;span&amp;gt;Out of Stock&amp;lt;/span&amp;gt;
                    @endif
                &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        @empty
            &amp;lt;tr&amp;gt;
                &amp;lt;td colspan="5"&amp;gt;No results found.&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        @endforelse
    &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;@endsection&lt;br&gt;&lt;br&gt;
reports/pdf.blade.php&lt;br&gt;&lt;br&gt;
Create/open resources/views/reports/pdf.blade.php:&lt;br&gt;&lt;br&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;&lt;br&gt;
    &lt;br&gt;&lt;br&gt;
    Fruit Report
&lt;br&gt;&lt;br&gt;
    &amp;lt;br&amp;gt;&lt;br&gt;
        body { font-family: Arial, sans-serif; font-size: 13px; }&amp;lt;br&amp;gt;&lt;br&gt;
        table { width: 100%; border-collapse: collapse; margin-top: 10px; }&amp;lt;br&amp;gt;&lt;br&gt;
        th, td { border: 1px solid #000; padding: 6px; }&amp;lt;br&amp;gt;&lt;br&gt;
        th { background-color: #eee; }&amp;lt;br&amp;gt;&lt;br&gt;
    &lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
    &lt;h3&gt;Fruit Sales Report&lt;/h3&gt;
&lt;br&gt;&lt;br&gt;
    &lt;p&gt;Generated: {{ now()-&amp;gt;format('F d, Y - h:i A') }}&lt;/p&gt;
&lt;br&gt;&lt;br&gt;
    &lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
        &lt;thead&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
            &lt;tr&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                &lt;th&gt;Name&lt;/th&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                &lt;th&gt;Category&lt;/th&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                &lt;th&gt;Price/kg&lt;/th&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                &lt;th&gt;Stock&lt;/th&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                &lt;th&gt;Status&lt;/th&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
            &lt;/tr&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
        &lt;/thead&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
        &lt;tbody&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
            @forelse($fruits as $fruit)&lt;br&gt;&lt;br&gt;
                &lt;tr&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                    &lt;td&gt;{{ $fruit-&amp;gt;name }}&lt;/td&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                    &lt;td&gt;{{ $fruit-&amp;gt;category }}&lt;/td&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                    &lt;td&gt;₱{{ number_format($fruit-&amp;gt;price, 2) }}&lt;/td&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                    &lt;td&gt;{{ $fruit-&amp;gt;stock }} kg&lt;/td&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                    &lt;td&gt;{{ $fruit-&amp;gt;is_available ? 'Available' : 'Out of Stock' }}&lt;/td&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                &lt;/tr&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
            &lt;a class="mentioned-user" href="https://dev.to/empty"&gt;@empty&lt;/a&gt;&lt;br&gt;&lt;br&gt;
                &lt;tr&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                    &lt;td colspan="5"&gt;No fruits found.&lt;/td&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
                &lt;/tr&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
            @endforelse&lt;br&gt;&lt;br&gt;
        &lt;/tbody&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
    &lt;/table&gt;&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
