Semua alat
Gratis

Referensi Laravel yang dapat dicari dan dicetak — Artisan, routing, Eloquent, query builder, migrasi, Blade, validasi, dan collection. Gratis.

Artisan CLI

14
php artisan serve
Mulai server pengembangan lokal
php artisan make:model Post -mcr
Model dengan migrasi, controller, dan resource
php artisan make:controller PostController
Hasilkan kelas controller baru
php artisan make:migration create_posts_table
Buat file migrasi baru
php artisan migrate
Jalankan migrasi database yang tertunda
php artisan migrate:fresh --seed
Hapus semua tabel, migrasi ulang dan seed
php artisan db:seed
Jalankan seeder database
php artisan tinker
Buka shell REPL interaktif
php artisan route:list
Daftar semua rute terdaftar
php artisan optimize
Cache konfigurasi, rute, dan view
php artisan queue:work
Proses job pada antrean
php artisan schedule:work
Jalankan scheduler di latar depan
php artisan storage:link
Symlink storage ke path publik
php artisan key:generate
Hasilkan kunci aplikasi

Routing

13
Route::get('/users', [UserController::class, 'index'])
Definisikan rute GET ke controller
Route::post('/users', [UserController::class, 'store'])
Definisikan rute POST
Route::put('/users/{user}', [UserController::class, 'update'])
Definisikan rute PUT
Route::patch('/users/{user}', [UserController::class, 'update'])
Definisikan rute PATCH
Route::delete('/users/{user}', [UserController::class, 'destroy'])
Definisikan rute DELETE
Route::get('/users/{id}', $fn)
Parameter rute wajib
Route::get('/users/{id?}', $fn)
Parameter rute opsional
Route::get('/profile', $fn)->name('profile')
Beri nama rute untuk pembuatan URL
Route::get('/admin', $fn)->middleware('auth')
Lampirkan middleware ke rute
Route::resource('posts', PostController::class)
Daftarkan rute resource RESTful
Route::prefix('admin')->group(function () {})
Kelompokkan rute di bawah prefiks URI
Route::controller(PostController::class)->group($fn)
Kelompokkan rute ke satu controller
Route::fallback($fn)
Tangani rute yang tidak cocok (404)

Controller

10
php artisan make:controller PostController --resource
Controller resource dengan metode CRUD
public function __invoke(Request $request)
Controller invokable aksi tunggal
public function index() {}
Daftar resource (metode resource)
public function store(Request $request) {}
Simpan resource baru
public function show(Post $post) {}
Tampilkan satu resource (route model binding)
public function __construct(PostService $svc) {}
Suntikkan dependensi via constructor
return view('posts.index', ['posts' => $posts])
Kembalikan view Blade dengan data
return response()->json($data)
Kembalikan respons JSON
return redirect()->route('posts.index')
Alihkan ke rute bernama
return back()
Alihkan ke halaman sebelumnya

Eloquent ORM

14
Post::all()
Ambil setiap record
Post::find($id)
Temukan record berdasarkan primary key
Post::where('active', true)->first()
Record pertama yang cocok dengan kondisi
Post::create(['title' => 'Hi'])
Mass-assign dan simpan record
$post->update(['title' => 'Edited'])
Perbarui model yang ada
$post->delete()
Hapus instance model
Post::firstOrCreate(['slug' => $slug])
Temukan atau buat record yang cocok
Post::updateOrCreate($attrs, $values)
Perbarui jika ditemukan, jika tidak buat
Post::with('author')->get()
Eager load sebuah relasi
public function comments() { return $this->hasMany(Comment::class); }
Relasi satu-ke-banyak
public function author() { return $this->belongsTo(User::class); }
Relasi satu-ke-banyak terbalik
protected $fillable = ['title', 'body'];
Atribut yang dapat di-mass-assign
protected function casts(): array { return ['published_at' => 'datetime']; }
Cast atribut (metode casts())
Post::onlyTrashed()->restore()
Pulihkan record yang di-soft-delete

Query builder

13
DB::table('users')->get()
Ambil semua baris dari tabel
DB::table('users')->where('votes', '>', 100)->get()
Filter baris berdasarkan kondisi
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
Inner join dua tabel
DB::table('users')->orderBy('name')->get()
Urutkan hasil berdasarkan kolom
DB::table('orders')->groupBy('status')->get()
Kelompokkan baris berdasarkan kolom
DB::table('users')->select('name', 'email')->get()
Memilih kolom tertentu
DB::table('users')->insert(['name' => 'Sam'])
Sisipkan baris baru
DB::table('users')->where('id', 1)->update(['votes' => 1])
Memperbarui baris yang cocok
DB::table('users')->pluck('email')
Ambil satu kolom sebagai koleksi
DB::table('users')->count()
Hitung baris yang cocok
DB::table('users')->where('id', 1)->exists()
Periksa apakah baris ada
DB::table('users')->paginate(15)
Paginasi hasil
DB::table('users')->chunk(100, $fn)
Proses hasil dalam potongan

Migrasi & skema

12
Schema::create('posts', function (Blueprint $table) {})
Membuat tabel baru
$table->id()
Primary key auto-increment
$table->string('title')
Kolom VARCHAR
$table->integer('votes')
Kolom integer
$table->boolean('active')
Kolom boolean
$table->timestamps()
Kolom created_at dan updated_at
$table->foreignId('user_id')->constrained()
Foreign key dengan constraint
$table->string('note')->nullable()
Izinkan nilai NULL
$table->boolean('active')->default(true)
Atur nilai default
$table->index('slug')
Tambahkan index ke kolom
$table->unique('email')
Tambahkan constraint unik
$table->dropColumn('votes')
Hapus kolom

Template Blade

14
@if ($ok) ... @elseif ($x) ... @else ... @endif
Rendering kondisional
@foreach ($posts as $post) ... @endforeach
Loop atas koleksi
@forelse ($posts as $post) ... @empty ... @endforelse
Loop dengan fallback kosong
{{ $variable }}
Echo output yang di-escape
{!! $html !!}
Echo HTML mentah tanpa di-escape
@extends('layouts.app')
Warisi dari sebuah layout
@section('content') ... @endsection
Definisikan bagian layout
@yield('content')
Keluarkan bagian dalam layout
@include('partials.nav')
Sertakan view lain
<x-alert type="error" />
Render komponen Blade
@csrf
Field token CSRF untuk formulir
@auth ... @endauth
Tampilkan konten ke pengguna terautentikasi
@can('update', $post) ... @endcan
Pemeriksaan gate otorisasi
{{ $loop->index }}
Variabel loop di dalam @foreach

Validasi

12
$request->validate(['title' => 'required'])
Validasi data permintaan secara inline
'email' => 'required|email'
Aturan email wajib dan valid
'name' => 'required|max:255'
Wajib dengan panjang maksimum
'email' => 'unique:users,email'
Harus unik dalam suatu tabel
'age' => 'nullable|integer|min:18'
Integer opsional dengan minimum
'role' => ['required', Rule::in(['admin', 'user'])]
Batasi ke nilai yang diizinkan
php artisan make:request StorePostRequest
Hasilkan kelas Form Request
public function rules(): array { return [...]; }
Aturan validasi Form Request
public function authorize(): bool { return true; }
Otorisasi Form Request
public function messages(): array { return [...]; }
Pesan validasi kustom
$validator = Validator::make($data, $rules)
Buat validator secara manual
$request->validated()
Ambil hanya input yang tervalidasi

Permintaan & respons

10
request()->input('name')
Ambil nilai input
request()->query('page')
Ambil nilai query string
request()->all()
Ambil semua input sebagai array
request()->only(['name', 'email'])
Ambil subset input
request()->has('name')
Periksa apakah input ada
response()->json(['ok' => true])
Kembalikan respons JSON
redirect()->route('home')->with('status', 'Saved')
Alihkan dengan pesan flash
back()->withInput()
Alihkan kembali dengan mempertahankan input lama
abort(404)
Lempar exception HTTP
abort_if($user->banned, 403)
Batalkan permintaan secara kondisional

Koleksi

13
$collection->map(fn ($x) => $x * 2)
Transformasikan setiap item
$collection->filter(fn ($x) => $x > 0)
Pertahankan item yang cocok
$collection->each(fn ($x) => $x->save())
Jalankan callback per item
$collection->pluck('name')
Ekstrak satu kolom
$collection->reduce(fn ($c, $x) => $c + $x, 0)
Mereduksi menjadi satu nilai
$collection->sortBy('created_at')
Urutkan berdasarkan key
$collection->groupBy('status')
Kelompokkan item berdasarkan key
$collection->where('active', true)
Filter berdasarkan pasangan key/value
$collection->first()
Ambil item pertama
$collection->contains('name', 'Sam')
Periksa item yang cocok
$collection->sum('price')
Jumlahkan sebuah kolom
$collection->flatten()
Ratakan koleksi bersarang
$collection->toArray()
Konversi ke array biasa

Auth & middleware

11
Auth::user()
Ambil pengguna terautentikasi
Auth::check()
Periksa apakah pengguna masuk
Auth::id()
Ambil ID pengguna terautentikasi
Auth::login($user)
Masukkan pengguna
Auth::logout()
Keluarkan pengguna saat ini
auth()->user()
Helper untuk pengguna saat ini
Route::get('/home', $fn)->middleware('auth')
Lindungi rute dengan auth
Gate::allows('update', $post)
Periksa gate otorisasi
$user->can('update', $post)
Periksa kemampuan terhadap policy
php artisan make:policy PostPolicy --model=Post
Hasilkan policy otorisasi
php artisan make:middleware EnsureTokenIsValid
Hasilkan kelas middleware

Helper & lain-lain

12
config('app.name')
Baca nilai konfigurasi
env('APP_DEBUG', false)
Baca variabel lingkungan
route('posts.show', $post)
Hasilkan URL ke rute bernama
url('/dashboard')
Hasilkan URL lengkap berkualifikasi
asset('css/app.css')
URL untuk aset publik
old('email')
Ambil input flash lama
now()->addDays(7)
Timestamp Carbon saat ini
Str::slug('My Title')
Helper string (slugify)
collect([1, 2, 3])->sum()
Buat koleksi dari array
cache()->remember('key', 60, $fn)
Cache nilai untuk suatu durasi
dd($value)
Buang nilai dan hentikan
Storage::put('file.txt', $contents)
Tulis file ke storage

Tidak ada entri yang cocok dengan “:q”.


Butuh bantuan?
Menemukan masalah dengan alat ini? Beri tahu tim kami.
Laporkan masalah

Tambahkan alat gratis ini ke situs web Anda sendiri — salin dan tempel kode di bawah ini.