laravel seeding ve factory – random kayıt ekleme


factory ile bir sürü kaydı bi anda girebilirsiniz. örnek factory oluşturma;

hemen oluşturulan dosyaya giriyoruz. şöyle bir kod giriyoruz siz kendi tablonuza göre güncelleyin

faker kütüphanesi yoksa yukarıya ekleyin. o otomatik oluşturmamızı sağlıyor. App\urunler yazan yere kendi modelinizi koymayı unutmayın.

ya kardeşim bana başka özellikler lazım kolonlarımda ad soyad felan var dersen https://github.com/fzaninotto/Faker buraya girip fakerin sana neler sağladığını görebilirsin.

kullanmak için basit bir kontroller oluşturun ve oraya

eğer 100 kayıt eklemek istiyorsak aynı anda;

şimdi diyeceksiniz ben her seferinde bunu kontroller ile yazmak zorunda mıyım? tablolarımı sıfırladım yine tekrar tekrar bunu mu tanımlıcam derseniz seed yapısı bizi kurtarıyor.

aşağıda yazıyor ama bilenler için buraya kısayol yapıyorum. controllera yazacağın metni run içine yazıyorsun oluyor bitiyor daha sonra aşağıdaki artisan db seed komutunu yazıp çalıştırıyorsun bu kadar. anlamadıysan aşağıyı oku eminim çözeceksin.

seeder kullanımı

database/seed/databaseseeder.php içinde run fonksiyonu içine basit bi insert cümlesi yazalım daha sonra aşağıdaki komutu yazalım.

yok ya ben kendi seeder dosyamı oluşturucam dersen;

diyorsun. sonra bunun içine bir şeyler yazdıktan sonra bunu çalıştırmadan önce yine DatabaseSeeder.php içine gidip diyoruz ki uruntableseeder diye bişi oluşturdum sana bi emir gelirse bunu da çalıştır.

 

laravel migrations kullanımı

laravel migrationsları ilk olarak çalıştırma komutu;

bu işlemi geri almak için

kendi tablomuzu oluşturmak için komutumuz

https://laravel.com/docs/5.8/migrations

kolon tiplerini burada görebilirsiniz.

örnek olması için:

php artisan migrate ile veritabanına uygulayabiliriz tekrardan.

sonradan bir kolon ekleyeceksek;

reset ile de herşeyi silebiliriz.

refresh ile de migrate ile eklediğimiz tüm kolonları silip yeniden yükleyebiliriz.

en son fresh özelliği geldi. bunu kullanırken dikkat edin. bunun özelliği tüm database tablolarını silip migratede yer alan tabloları ekliyor. migrate dışında manuel oluşturduğunuz tabloları da siliiiiiyoooor.

 

laravel toastr paketi

ile ekliyoruz. config/app.phpyi açıyoruz. laravel 5.5üstü için gerek yokta olur da çalışmaz diye

config klasörü içine toastr.phpnin düşmesini istiyorsak aşağıdaki kodu yazıyoruz. bunu yazın bence çünkü buradan çıkan mesajların tasarımsal değişikliklerini yapıyoruz. bulunsun.

view dosyamıza toastr css ve jsyi eklememiz gerekli. bu da basit.

kullanımı ise çok basit. controller’da işlemi bitirdik redirect yaptık. yapmadan önceki koda aşağıdakilerden birini yaz yolla. otomatik çıkacak.

ayrıntılı bilgi https://github.com/yoeunes/toastr

laravel proc open hatasını göstermeme

laravelde bir değişkeni yanlış yazsam proc open hatası alıyordum. bunu kapatıp direk hatanın kendisini görmek için terminale

sonra config/flare.php dosyasını açıp

false yapıyoruz bu kadar.

laravel migrations

migrasyon oluşturmak için artisan komutu;

public function up içine;

gibi tablo özelliklerini yazıyoruz. veri tipleri burada ayrıntılı bi şekilde yazıyor.

örneğin bir urun tablonuz olsun. ona kategoriler diye bir tablo daha oluşturacaksınız. eğer o kategorilerden birini sildiğimizde o kategoriye ait ürünlerin de silinmesini istiyorsak

urun tablosundaki 1 numaralı ürünü sildiğimizde kategori tablosunda da 1 numaralı urun_id’sine sahip ne varsa sil dedik.

çalıştırmak için migration’ı;

değişiklik yaptıysak

 

controller resource örneği blade

web.php

controller içinde yer alan backend klasörü kategori controllerına admin/kategori linkine gidecek şekilde yaptık.

category modeli oluşturduk.

Kategori controller’i;

kategori_create.blade.php

kategori_edit.blade.php

kategori_list.blade.php

 

 

model ilişkiler tablo arası

one to one

bir yazının hangi kullanıcı tarafından yazıldığını öğrenmek için birebir ilişki. tablomuz post üye tablosu ise user

post tablosunun modeline fonksiyon oluşturup diyoruz ki. sen post tablosundaki user kolonundaki veriyi git üye modelinin üye_id kolonunda ara. peki bunu nasıl çalıştıracağız

one to many

bir kişiye ait birden fazla veri varsa. örn bir üyenin birden çok paylaşımı varsa. üyenin modeline;

sonuna ->count yazarsak bu verinin sayısını verir.

fonksiyonu çekme

kullanımı

 

eloquent model işlemleri

alt kategori model oluşturma kodunu bıraktım yukarı. migration ile oluşturmak istersek

ekleme işlemi için

create yerine insert’ü de kullanabilirsiniz.

ekleme işlemi 2

delete işlemi

update işlemi

arama işlemi

find tablodaki primary key ney ise onun içinde ara. örnek id’si 1 olanı aradık. id kolonu çünkü primary key. birden fazla için

createdate ve update date devre dışı bırakma;

table seçme

primary key seçme

create_date kolonunuz var ama ismi türkçe ise

böyle değiştir


request validation

örnek bir kontroller

bunu yazdığımızda herhangi birtanesi geçersiz olsa bile sonraki yazdığınız kodlara bakmadan hata mesajları view geri dönecektir. peki bu hata mesajlarını nasıl göreceğiz. ilgili view’a aşağıdaki kodları yazınız.

ya mesela dediniz benim ad textboxının bir özelliği var hata aldığımda onun classını kıp kırmızı yapmak istiyorum o da şöyle;

otomatik is-invalid değeri veriyor ve kullanıcıya renkli bir textbox sunuyoruz.

sadece ad textbox hatalarını görmek istiyorsan

laravel’in resmi sitesinde bunun gibi daha bir sürü validation örneği görebilirsiniz.

https://laravel.com/docs/6.x/validation

request ve form

form post action kısmına route’da belirlediğimiz linkin name’ni giriniz.

csrf eklemeyi unutma. formun içine

yazabilirsin. aşağıdaki iki yöntem daha var. biri meta diğeri javasciprt için. seç beğen al.

post edeceğimiz controller şöyle olmalı;