Laravel-fusklapp
En sökbar, utskrivbar Laravel-referens — Artisan, routing, Eloquent, frågebyggaren, migrationer, Blade, validering och samlingar. Gratis.
Artisan CLI
14php artisan serve
Starta den lokala utvecklingsservern
php artisan make:model Post -mcr
Modell med migrering, kontroller och resurs
php artisan make:controller PostController
Generera en ny kontrollerklass
php artisan make:migration create_posts_table
Skapa en ny migreringsfil
php artisan migrate
Kör väntande databasmigreringar
php artisan migrate:fresh --seed
Släpp alla tabeller, migrera om och seeda
php artisan db:seed
Kör databas-seedrarna
php artisan tinker
Öppna ett interaktivt REPL-skal
php artisan route:list
Lista alla registrerade rutter
php artisan optimize
Cacha konfiguration, rutter och vyer
php artisan queue:work
Bearbeta jobb i kön
php artisan schedule:work
Kör schemaläggaren i förgrunden
php artisan storage:link
Symlänka storage till den publika sökvägen
php artisan key:generate
Generera applikationsnyckeln
Routing
13Route::get('/users', [UserController::class, 'index'])
Definiera en GET-rutt till en kontroller
Route::post('/users', [UserController::class, 'store'])
Definiera en POST-rutt
Route::put('/users/{user}', [UserController::class, 'update'])
Definiera en PUT-rutt
Route::patch('/users/{user}', [UserController::class, 'update'])
Definiera en PATCH-rutt
Route::delete('/users/{user}', [UserController::class, 'destroy'])
Definiera en DELETE-rutt
Route::get('/users/{id}', $fn)
Obligatorisk ruttparameter
Route::get('/users/{id?}', $fn)
Valfri ruttparameter
Route::get('/profile', $fn)->name('profile')
Namnge en rutt för URL-generering
Route::get('/admin', $fn)->middleware('auth')
Koppla middleware till en rutt
Route::resource('posts', PostController::class)
Registrera RESTful resursrutter
Route::prefix('admin')->group(function () {})
Gruppera rutter under ett URI-prefix
Route::controller(PostController::class)->group($fn)
Gruppera rutter till en kontroller
Route::fallback($fn)
Hantera omatchade rutter (404)
Kontroller
10php artisan make:controller PostController --resource
Resurskontroller med CRUD-metoder
public function __invoke(Request $request)
Anropbar kontroller med en enda åtgärd
public function index() {}
Lista resurser (resursmetod)
public function store(Request $request) {}
Spara en ny resurs
public function show(Post $post) {}
Visa en resurs (rutt-modellbindning)
public function __construct(PostService $svc) {}
Injicera ett beroende via konstruktorn
return view('posts.index', ['posts' => $posts])
Returnera en Blade-vy med data
return response()->json($data)
Returnera ett JSON-svar
return redirect()->route('posts.index')
Omdirigera till en namngiven rutt
return back()
Omdirigera till föregående sida
Eloquent ORM
14Post::all()
Hämta varje post
Post::find($id)
Hitta en post med primärnyckel
Post::where('active', true)->first()
Första posten som matchar ett villkor
Post::create(['title' => 'Hi'])
Massfyll och spara en post
$post->update(['title' => 'Edited'])
Uppdatera en befintlig modell
$post->delete()
Ta bort en modellinstans
Post::firstOrCreate(['slug' => $slug])
Hitta eller skapa en matchande post
Post::updateOrCreate($attrs, $values)
Uppdatera om funnen, skapa annars
Post::with('author')->get()
Eager-ladda en relation
public function comments() { return $this->hasMany(Comment::class); }
En-till-många-relation
public function author() { return $this->belongsTo(User::class); }
Omvänd en-till-många-relation
protected $fillable = ['title', 'body'];
Massfyllbara attribut
protected function casts(): array { return ['published_at' => 'datetime']; }
Attributcasts (casts()-metoden)
Post::onlyTrashed()->restore()
Återställ mjukraderade poster
Frågebyggare
13DB::table('users')->get()
Hämta alla rader från en tabell
DB::table('users')->where('votes', '>', 100)->get()
Filtrera rader efter ett villkor
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
Inner join av två tabeller
DB::table('users')->orderBy('name')->get()
Ordna resultat efter en kolumn
DB::table('orders')->groupBy('status')->get()
Gruppera rader efter en kolumn
DB::table('users')->select('name', 'email')->get()
Välj specifika kolumner
DB::table('users')->insert(['name' => 'Sam'])
Infoga en ny rad
DB::table('users')->where('id', 1)->update(['votes' => 1])
Uppdatera matchande rader
DB::table('users')->pluck('email')
Hämta en enskild kolumn som en samling
DB::table('users')->count()
Räkna matchande rader
DB::table('users')->where('id', 1)->exists()
Kontrollera om rader finns
DB::table('users')->paginate(15)
Sidnumrera resultaten
DB::table('users')->chunk(100, $fn)
Bearbeta resultat i delar
Migreringar och schema
12Schema::create('posts', function (Blueprint $table) {})
Skapa en ny tabell
$table->id()
Autoinkrementerande primärnyckel
$table->string('title')
VARCHAR-kolumn
$table->integer('votes')
Heltalskolumn
$table->boolean('active')
Boolesk kolumn
$table->timestamps()
Kolumnerna created_at och updated_at
$table->foreignId('user_id')->constrained()
Främmande nyckel med en begränsning
$table->string('note')->nullable()
Tillåt NULL-värden
$table->boolean('active')->default(true)
Ange ett standardvärde
$table->index('slug')
Lägg till ett index på en kolumn
$table->unique('email')
Lägg till en unik begränsning
$table->dropColumn('votes')
Släpp en kolumn
Blade-mallar
14@if ($ok) ... @elseif ($x) ... @else ... @endif
Villkorlig rendering
@foreach ($posts as $post) ... @endforeach
Loopa över en samling
@forelse ($posts as $post) ... @empty ... @endforelse
Loopa med en tom reserv
{{ $variable }}
Echo escapead utdata
{!! $html !!}
Echo oescapead rå HTML
@extends('layouts.app')
Ärv från en layout
@section('content') ... @endsection
Definiera en layoutsektion
@yield('content')
Mata ut en sektion i en layout
@include('partials.nav')
Inkludera en annan vy
<x-alert type="error" />
Rendera en Blade-komponent
@csrf
CSRF-tokenfält för formulär
@auth ... @endauth
Visa innehåll för autentiserade användare
@can('update', $post) ... @endcan
Kontroll av auktoriseringsgrind
{{ $loop->index }}
Loopvariabel inuti @foreach
Validering
12$request->validate(['title' => 'required'])
Validera begärandata inline
'email' => 'required|email'
Regel för obligatorisk och giltig e-post
'name' => 'required|max:255'
Obligatorisk med en maxlängd
'email' => 'unique:users,email'
Måste vara unik i en tabell
'age' => 'nullable|integer|min:18'
Valfritt heltal med ett minimum
'role' => ['required', Rule::in(['admin', 'user'])]
Begränsa till tillåtna värden
php artisan make:request StorePostRequest
Generera en Form Request-klass
public function rules(): array { return [...]; }
Valideringsregler för Form Request
public function authorize(): bool { return true; }
Auktorisering för Form Request
public function messages(): array { return [...]; }
Anpassade valideringsmeddelanden
$validator = Validator::make($data, $rules)
Skapa en validerare manuellt
$request->validated()
Hämta endast validerad inmatning
Begäranden och svar
10request()->input('name')
Hämta ett inmatningsvärde
request()->query('page')
Hämta ett frågesträngsvärde
request()->all()
Hämta all inmatning som en array
request()->only(['name', 'email'])
Hämta en delmängd av inmatningen
request()->has('name')
Kontrollera om inmatning finns
response()->json(['ok' => true])
Returnera ett JSON-svar
redirect()->route('home')->with('status', 'Saved')
Omdirigera med ett flash-meddelande
back()->withInput()
Omdirigera tillbaka och behåll gammal inmatning
abort(404)
Kasta ett HTTP-undantag
abort_if($user->banned, 403)
Avbryt begäran villkorligt
Samlingar
13$collection->map(fn ($x) => $x * 2)
Omvandla varje objekt
$collection->filter(fn ($x) => $x > 0)
Behåll matchande objekt
$collection->each(fn ($x) => $x->save())
Kör en callback per objekt
$collection->pluck('name')
Extrahera en kolumn
$collection->reduce(fn ($c, $x) => $c + $x, 0)
Reducera till ett enda värde
$collection->sortBy('created_at')
Sortera efter en nyckel
$collection->groupBy('status')
Gruppera objekt efter en nyckel
$collection->where('active', true)
Filtrera efter ett nyckel/värde-par
$collection->first()
Hämta det första objektet
$collection->contains('name', 'Sam')
Kontrollera om ett matchande objekt finns
$collection->sum('price')
Summera en kolumn
$collection->flatten()
Platta ut nästlade samlingar
$collection->toArray()
Konvertera till en vanlig array
Autentisering och middleware
11Auth::user()
Hämta den autentiserade användaren
Auth::check()
Kontrollera om en användare är inloggad
Auth::id()
Hämta den autentiserade användarens ID
Auth::login($user)
Logga in en användare
Auth::logout()
Logga ut den aktuella användaren
auth()->user()
Hjälpfunktion för den aktuella användaren
Route::get('/home', $fn)->middleware('auth')
Skydda en rutt med autentisering
Gate::allows('update', $post)
Kontrollera en auktoriseringsgrind
$user->can('update', $post)
Kontrollera behörighet mot en policy
php artisan make:policy PostPolicy --model=Post
Generera en auktoriseringspolicy
php artisan make:middleware EnsureTokenIsValid
Generera en middleware-klass
Hjälpklasser och övrigt
12config('app.name')
Läs ett konfigurationsvärde
env('APP_DEBUG', false)
Läs en miljövariabel
route('posts.show', $post)
Generera en URL till en namngiven rutt
url('/dashboard')
Generera en fullständigt kvalificerad URL
asset('css/app.css')
URL till en publik resurs
old('email')
Hämta gammal flashad inmatning
now()->addDays(7)
Aktuell Carbon-tidsstämpel
Str::slug('My Title')
Stränghjälpfunktion (slugify)
collect([1, 2, 3])->sum()
Skapa en samling från en array
cache()->remember('key', 60, $fn)
Cacha ett värde under en period
dd($value)
Dumpa ett värde och avbryt
Storage::put('file.txt', $contents)
Skriv en fil till storage
Ingen post matchar “:q”.
Behöver du hjälp?
Hittade du ett problem med det här verktyget? Berätta för oss.