rest api #4 – update işlemi

modelimiz tanımlıysa ve gelen tüm verileri güncelleyeceksek

yok kardeşim ben tek kolonu güncelleyeceğim dersen

hepsi normal ekleme silme işlemi gibi zaten.

rest api #3 – read işlemi

zaten resource ile show metodu geliyor. eğer model tanımlamadıysak controller’a

eğer modelimiz varsa

 

rest api #2 – resource controller oluşturma

api için resource oluşturmak için;

sonuna sadece –api koyuyoruz. burada api oluşturduğumuz için create ve edit sayfaları yok. çünkü kullanıcı arayüzlü bir ortam yok.

modelli oluşturacaksak

bakın modeli yazdığımızda direk gelen id’leri return yaparak verileri listeleyebiliyoruz.

route aşaması da aşağıdaki gibi. 2 tane koydum bilerek gönlümüz açılsın diye.

 

rest api #1 – route tanımlama

laravel ile rest api oluşturma ilk ders

routes bölümünden api.php kısmından normal tanımlama yapar gibi yapabilirsiniz. buradaki linke domain üzerinden xx.com/api/tanımladığınroute adresinden gidebiliyorsun. örneğin ali.com diye sitemiz var.

böyle bir route’a “ali.com/api/deneme” ile gidebiliyoruz.

ya işte ben api koymayacağım başka bir şey koyacağım adını. o da kolay.

app -> providers -> routeserviceprovider.php içinden en altta mapapiroutes fonksiyonunda yer alan prefix’i değiştir olsun bitsin.

gördüğünüz gibi route hala aynı route. sadece başında api oluyor. laravel derslerindeki route dersine gidip diğer ayrıntılı route tanımlamalarını görebilirsiniz.

instagram api Invalid request options. hatası ve çözümü

instagram api kullanırken resim yüklemediğimi ve karşılında invalid request options hatasını aldığımı gördüm. çözümü için yazdım sağa sola ama bulamadım. en son github’a birinin yazdığını gördüm google’dan. o da silmişti. önbellekten ulaştım arkadaşa sağ olsun yardımcı oldu. çözümü bir önceki versiyonu kurmak nasıl mı ?

gördüğünüz gibi sonuna 4.1.0 ekledik mi iş tamam oluyor.

laravel resim yükleme

validation kısmı

1024 kb, resim ve uzantısı orada yazanlardan olanların bize gelmesini istiyoruz.

 

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