0Pricing
PHP Academy · Ders

Eloquent Modelleri ve Geçişler

Artisan komutlarıyla modeller ve veritabanı geçişleri oluşturun.

Eloquent Modelleri ve Geçişler, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.

Eloquent Nedir?

Eloquent, Laravel'in ActiveRecord ORM'sidir. Her veritabanı tablosunun bir satırı temsil eden ve sorgu yöntemleri sağlayan karşılık gelen bir Model sınıfı vardır.

Model Oluşturma

Bir model oluşturmak için Artisan'ı kullanın. Ayrıca bir geçiş dosyası oluşturmak için -m ekleyin.

$ php artisan make:model Post -m
# Creates:
# app/Models/Post.php
# database/migrations/xxxx_create_posts_table.php

Model Sınıfı

En basit Eloquent modelinin yalnızca Model sınıfını genişletmesi gerekir. Eloquent, tablo adını sınıf adından (çoğul snake_case) çıkarır.

<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $fillable = ["title", "body", "user_id"];
}

Geçiş Dosyası

Geçiş, tablo şemasını tanımlar. Uygulamak için php artisan migrate komutunu çalıştırın.

<?php
public function up(): void
{
    Schema::create("posts", function (Blueprint $table) {
        $table->id();
        $table->string("title");
        $table->text("body");
        $table->foreignId("user_id")->constrained()->cascadeOnDelete();
        $table->timestamps();
    });
}

Geçişleri Çalıştırma

Bekleyen geçişleri veritabanına uygulayın.

$ php artisan migrate
# Rollback:
$ php artisan migrate:rollback
# Fresh (drop all and re-migrate):
$ php artisan migrate:fresh

$fillable ve $guarded

$fillable, toplu atama için izin verilen sütunları listeler. $guarded, engellenen sütunları listeler. Dikkatlice düşünmeden üretim ortamında hiçbir zaman $guarded = [] ayarlamayın.

<?php
// Whitelist approach (recommended):
protected $fillable = ["title", "body"];

// Blacklist approach:
protected $guarded = ["id", "created_at"];

Tür Dönüşümleri

$casts özelliği, sütun değerlerini otomatik olarak PHP türlerine dönüştürür.

<?php
protected $casts = [
    "is_published" => "boolean",
    "metadata"     => "array",       // JSON column
    "published_at" => "datetime",
];

Gizli ve Görünür

$hidden özelliği, sütunları JSON/dizi serileştirmesinin dışında tutar — parolalar ve belirteçler için kullanışlıdır.

<?php
protected $hidden = ["password", "remember_token"];

Özel Tablo Adı

Varsayılan tablo adını $table özelliğiyle geçersiz kılın.

<?php
protected $table = "blog_posts"; // instead of "posts"

Yumuşak Silme

SoftDeletes özelliğini ve bir deleted_at sütununu ekleyin. Kayıtlar gerçekten silinmez — bir zaman damgasıyla işaretlenir ve normal sorguların dışında bırakılır.

<?php
use Illuminate\Database\Eloquent\SoftDeletes;

class Post extends Model {
    use SoftDeletes;
}

Zaman Damgaları

Eloquent, varsayılan olarak created_at ve updated_at sütunlarını yönetir. Devre dışı bırakmak için $timestamps = false ayarlayın.

Özet

Eloquent modelleri veritabanı tablolarıyla eşleşir. Modelleri ve geçişleri birlikte oluşturmak için Artisan'ı kullanın. Toplu atama güvenliği için $fillable tanımlayın. Otomatik tür dönüşümü için $casts kullanın.

Hızlı Kontrol

Bir modelin yanında geçiş oluşturan Artisan seçeneği hangisidir?

Sıkça Sorulan Sorular

“Eloquent Modelleri ve Geçişler” dersi ücretsiz mi?

Evet — “Eloquent Modelleri ve Geçişler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.

“Eloquent Modelleri ve Geçişler” dersinde ne öğreneceğim?

Artisan komutlarıyla modeller ve veritabanı geçişleri oluşturun. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Eloquent Modelleri ve Geçişler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Eloquent Modelleri ve Geçişler
  2. Eloquent ile CRUD
  3. Eloquent İlişkileri
  4. Önden Yükleme ve Sorgu Kapsamları
← PHP Academy Sayfasına Dön