Laravel 5.6 Veritabanı Modelleme

Merhabalar ben deep-kod.org sitesinden Fatih. Bugünkü dersimiz Laravel 5.6’da Veritabanı modelleme hakkında olacaktır.

Xampp serverımız çalışmıyorsa, xampp-control.exe ile veritabanı ve Apache servislerimizi çalıştıralım. Ardından konsoldan projemizin bulunduğu kısma gelip

php artisan serve

ile laravel serverımızı başlatalım. Sitemiz localhost/veriler altında çalışıyor olacaktır.

web.php Dosyamızı açalım. Önceki dersimizde

 DB::table("veriler")->get();

DB clasını kullanarak bir sorgu oluşturmuştuk, şimdiki dersimizde ise veritabanı modelleme yapacağız.

Konsoldan

php artisan make:model Veriler

yazarak Veriler isminde bir model oluşturuyoruz. Modelimiz

model oluştu klasör.png

burada oluştu. İçeriği ise

<!--?php &lt;/p&gt;
&lt;p&gt;namespace App;&lt;/p&gt;
&lt;p&gt;use Illuminate\Database\Eloquent\Model;&lt;/p&gt;
&lt;p&gt;class Veriler extends Model&lt;br ?--> {

}

bu şekilde. Biz içeriği bu şekilde değiştiriyoruz.

<!--?php namespace App; use Illuminate\Database\Eloquent\Model; class Veriler extends Model { protected $table = "veriler"; }

Burada yaptığımız işlem Veriler modeline tablo ismimizin “veriler” olduğunu söylüyoruz. Artık modellememiz hazır şimdi ise sıra kullanmaya geldi. web.php Dosyamıza geçip

 Route::get('/veriler', function () { $veriler = DB::table("veriler")-&gt;get();&lt;/p&gt;
&lt;p&gt;    return view('veriler.index', compact("veriler"));&lt;br ?--> });

satırlarını şu şekilde değiştiriyoruz;

use App\Veriler;

Route::get('/veriler', function () {
$veriler = Veriler::all();

return view('veriler.index', compact("veriler"));
});

Route::get('/veriler/{veri}', function ($id) {
$veri == Veriler::find($id)-&gt;get();

return view('veriler.goster', compact("veri"));
});

Ardından /veriler adresine gittiğimizde bütün verilerin getirildiğini görürüz. Eğer /veriler/1 adresine gidecek olursak yine id kolonuna ait verinin getirildiğini görürürüz.

Modelleme Laravel 5.6’da bu şekildedir. İlerleyen derslerimizde modelleme ile ile örnekleri göstereceğiz.

Bir cevap yazın

Your email address will not be published.