lostyazilim
tr.link

Laravel ile Basit Bir Sistem Yapmak İstiyorum

12 Mesajlar 2.264 Okunma
acebozum
tr.link

halilyc halilyc labters.com Kullanıcı
  • Üyelik 14.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Web & Grafik ve iOS
  • Konum İstanbul Anadolu
  • Ad Soyad H** Y**
  • Mesajlar 837
  • Beğeniler 441 / 190
  • Ticaret 6, (%100)
Merhabalar arkadaşlar, Laravel öğrenmeye yeni başladım ve youtube üzerinden izlediğim bir ders seti ile kendime ait blogumu yazıp Voyager admin paneliyle ilişkilendirdim. Çok yararlı oldu temel olarak birşeyler anlamam için, şuan bir müşterimin işi için wordpress kullanmak yerine Laravel ile siteyi hazırlayıp artık bu tarafa kaymak istiyorum yavaş yavaş.

Yapmak istediğim şey çok basit, müşterim bir kuru temizleme dükkanı ve web sitesinde müşterilerinin sipariş numarasını sorgulayıp son durumu öğrenmesini istiyor. Yani ben sitenin ön kısmında bir text alanı koyup sipariş numarasının yazılıp yandaki sorgula butonuna tıklanınca o sipariş numarasına karşılık gelen durumu göstermesini istiyorum. Müşterim admin panelinden sipariş numarası ile bir ekleme yapacak ve benim eklediğim hazır durumlardan birini seçip kaydet diyecek bu kadar.

Bunu yapmamı sağlayacak mevzunun genel bir adı var mıdır ? Bunun için bir video veya makale varsa gönderebilirseniz sevinirim, ne isimle aratacağımı bilmediğim için işi hızlandırmak adına burada tecrübeli arkadaşlardan yardım isteyeyim dedim, şimdiden teşekkürler ilgi gösterenlere :)
 

 

elektronikssl
webimgo

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)
herhangi ozel bir adi yok malesef, ama yapacagin sey basit aslina simdi soyle dusun bir HomeController'in var. ilk asamada bir rota olustur



Route::resource( '/', 'HomeController');

or

Route::get('/{id}', 'HomeController@show');



bu asamada zaten kullaniciya daha onceden bir takip numarasi verilmis oldugu icin controller uzerinde kontrol etmen gereken o id sadece.

HomeController Show methodu


public function show($id)
{

#burada modelinin adini " siparisdurumu " olarak nitelendiriyorum.

return view('layouts.list-siparis',[
'siparisdetay' : SiparisDurumu::where('siparisid','=',$id)->get()
]);

}



daha sonra yapman gereken ise layouts/list-siparis.blade.php dosyani editlemek.




    @foreach(siparisdetay as $list)
  • {{ $list->durum }}

  • @endforeach





burada bu siparise girilmis tum durumlari listeledik eger sadece bir adet durum gostermek istesen,



public function show($id)
{

#burada modelinin adini " siparisdurumu " olarak nitelendiriyorum.

return view('layouts.list-siparis',[
'siparisdetay' : SiparisDurumu::where('siparisid','=',$id)->first()
]);

}






{{ $siparisdetay->durum }}







->get() methodu kosuldan sonra listelemelerde,
->first() methodu kosuldan sonra tek icerik cagirmak icin kullanilir.
halilyc

kişi bu mesajı beğendi.

halilyc halilyc labters.com Kullanıcı
  • Üyelik 14.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Web & Grafik ve iOS
  • Konum İstanbul Anadolu
  • Ad Soyad H** Y**
  • Mesajlar 837
  • Beğeniler 441 / 190
  • Ticaret 6, (%100)
HapyMan hocam sağolasın süpersin, peki bunun admin kısmını nasıl halledebilirim ? Voyager yükleyip yeni bir laravel projesi oluşturdum. Bu çağıracağımız postları admin panelinden veritabanına işlememiz gerekiyor önce, sonra sitede siparişi idsi ile göstereceğiz. Bu kısımda tıkandım şuan :)
 

 

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)
voyager ile kurduysan sistemi voyagerda bir tablo olustur OrderStats diye tabi Orders diye de bir tablon vardir mutlaka, bu ikisinin arasinda bir relationship olustur. OrderStats tablonda orderid diye bir alanina bagla relationship'i boylece siparisle olusturdugun ozel id birbirine baglanmis olur. daha sonra sorgulari atarken homecontroller uzerinden degilde OrderStats tablona atmis olursun.


ve listelerken OrderStats tablondan listelersin eger siparisin detayini da gostermek istersen, orderid yardimi ile direk orders tablona baglanip verileri cekersin.

yani listeleme yaparken esitlemen gerekebilir bunu ama yaparsin cok sorun olmaz.
halilyc

kişi bu mesajı beğendi.

wmaraci
wmaraci

halilyc halilyc labters.com Kullanıcı
  • Üyelik 14.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Web & Grafik ve iOS
  • Konum İstanbul Anadolu
  • Ad Soyad H** Y**
  • Mesajlar 837
  • Beğeniler 441 / 190
  • Ticaret 6, (%100)
HapyMan teşekkürler hocam yol gösterdiğin için, ben henüz çok yeniyim ve bu dediklerin biraz yabancı kaçıyor bana haliyle :) Benzer birşeyi anlatan bir video veya makale var mıdır acaba ? İngilizcem var sıkıntı yaşamam.
 

 

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)
malesef konuyla ilgili hic bir kaynak arastirmasi yapmadim bu tamamen benim kafamda kurdugum bir yontem.
halilyc

kişi bu mesajı beğendi.

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)
Pek laravel bilgim yok ama blog yazısı ekleme mantığı ile yapabilirsiniz. O konuda araştırma yaparsanız karşınıza çıkacaktır.
halilyc

kişi bu mesajı beğendi.

halilyc halilyc labters.com Kullanıcı
  • Üyelik 14.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Web & Grafik ve iOS
  • Konum İstanbul Anadolu
  • Ad Soyad H** Y**
  • Mesajlar 837
  • Beğeniler 441 / 190
  • Ticaret 6, (%100)
kelebek şuan tam olarak onu yapmaya çalışıyorum hocam :) Voyagerin hali hazırda sunduğu post kısmını sipariş şeyi için kullanıp uygun hale getirmeye çalışıyorum bakalım :)
 

 

halilyc halilyc labters.com Kullanıcı
  • Üyelik 14.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Web & Grafik ve iOS
  • Konum İstanbul Anadolu
  • Ad Soyad H** Y**
  • Mesajlar 837
  • Beğeniler 441 / 190
  • Ticaret 6, (%100)
HapyMan kodlar için teşekkürler hocam voyager ile veritabanına işledim verileri tam istediğim gibi, daha sonra onları senin verdiğin kodları kullanarak sitede siteadresi/siparis/id şeklinde işledim. Herşey çok güzel, şimdi anasayfada bir form oluşturup input alanına yazılan sipariş numarasını siparis/siparisnumarası şeklinde yönlendirip sonuca göndermek istiyorum, bunun için forma nasıl bir metod veya action vermeliyim acaba ? Teşekkürler :)



 

 

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)
formun actionunu post olarak ayarla. daha sonra

bir SiparisController olustur ardindan bir route olustur yine

Route::post('/siparisler','SiparisController@savesiparis')


bunlari yaptiktan sonra, SiparisController icinde bir public function olarak savesiparis fonksiyonunu olustur.



public function savesiparis (Request $request) {

$data = $request->all();

// burada validate edersin hatalari dondurmek icin

$valid = array();


#bu manuel validate icin gecerli yontem
if ( $valid['flag'] == true ){
return back()->with('bir hata olustu : ', $valid['message']);
}

#eger hata yok ise standart bir sekilde kayit edeceksin veritabanina.

}



laravel validateler icin : https://laravel.com/docs/5.5/validation#quick-writing-the-validation-logic

buradan dondurdugun hatalari flash message ( laravel session ) ile ekrana basa bilirsin.



@if ($errors->any())
$.notify({
title: '',
message: '
    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
'
},{
type: 'alert alert-default',
placement: {
from: "top"
}
});
@endif



veya



@if (session('status'))

{{ session('status') }}

@endif



buradan da bu yontemin dokumanina ulasirsin : https://laravel.com/docs/5.5/redirects#redirecting-with-flashed-session-data
halilyc

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al