Tips

Using third party libraries for Jalali calendar

composer require morilog/jalali
use Morilog\\Jalali\\Jalalian;

// controller class

public function show(Sample $s)
 {
        if (! $s) {
            return abort(404);
        }
        $s->created_at = **Jalalian::fromDateTime($s->created_at)->format('Y/m/d H:m:s')**;
        $s->updated_at = **Jalalian::fromDateTime($s->updated_at)->format('Y/m/d H:m:s')**;
        return view('samples.show', ['sample' => $s]);
 }

Redirecting user to previous page in

use Illuminate\\Http\\Request;

// controller class

public function sample(Request $request)
{
  **return redirect()->back();**
}

Shorter way to add created_at and updated_at to tables in migrations

<?php

use Illuminate\\Database\\Migrations\\Migration;
use Illuminate\\Database\\Schema\\Blueprint;
use Illuminate\\Support\\Facades\\Schema;

return new class extends Migration
{
    public function up(): void
    {
        Schema::create('table', function (Blueprint $table) {
            $table->id();
            **$table->timestamps();** // automatically adds "created_at" and "update_at"
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('table');
    }
};

Checking for user’s role in templates

@auth
**@if(auth()->user()->role == 'admin') // check if user is admin**
    <form action="/api" method="post">
        @csrf
        <input type="text" name="data" >
        @if ($errors->any())
            <div>
                <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
                </ul>
            </div>
        @endif
        <button type="submit">submit</button>
    </form>
@endif
@endauth