• 11-04-2020, 04:00:19
    #1
    Merhaba dostlar, direkt soruya geçeyim. Randevuları tuttuğum bir tablo var. Bu tabloda müşterilerin idleri foreign key olarak bağlı. Mesela 2 nolu müşteri 3 tane randevu almış farklı tarihlerde. 3 nolu müşteri 4 tane randevu almış. Bunları nasıl sorguyla çekebilirim? Bir arraye atabilsem direkt en çok randevuyu alanı, en az randevuyu alanı, küçükten büyüğe sıralayabilmeyi vs. yapabileceğim. Ama sorguyu nasıl yazmam gerektiğini bir türlü bulamadım. Teşekkürler şimdiden yardım edebilecek arkadaşlara

    ÇÖZÜM: "Şimdi aklıma geldi de acaba tüm müşterilerin idlerini bir arraye atıp. Sonra o array içinde for ile tüm değerleri dönüp where id = $id şeklinde çekip sonuçları başka bir arraye mi atasam?" demiştim yorumlarda. Hemen uyguladım ve çözüme ulaştım arkadaşlar. Teşekkürler yardımlarınız için
  • 11-04-2020, 04:05:24
    #2
    Select count(*) from randevu_tablosu Where id=2

    Bunu deneyebilirsin tarih aralıgı istersen sonunda and date=tarih sekilde verilebilir
  • 11-04-2020, 04:08:15
    #3
    asiminnesli adlı üyeden alıntı: mesajı görüntüle
    Select count(*) from randevu_tablosu Where id=2

    Bunu deneyebilirsin tarih aralıgı istersen sonunda and date=tarih sekilde verilebilir
    Hocam şöyle 100lerce müşterimin datasını ölçmek istiyorum ben. Her birisi için where id=1,2,3 yapmak olmaz. Şimdi aklıma geldi de acaba tüm müşterilerin idlerini bir arraye atıp. Sonra o array içinde for ile tüm değerleri dönüp where id = $id şeklinde çekip sonuçları başka bir arraye mi atasam? Bunun daha kolay bir yöntemi var mıdır yoksa böyle mi yapayım?
  • 11-04-2020, 15:47:06
    #4
    SELECT count(*) as counted,id as id FROM randevu_tablosu GROUP BY id;
    seklinde denersen calisacaktir buyuk ihtimalle
  • 13-04-2020, 16:00:22
    #5
    emrecanozkan adlı üyeden alıntı: mesajı görüntüle
    Merhaba dostlar, direkt soruya geçeyim. Randevuları tuttuğum bir tablo var. Bu tabloda müşterilerin idleri foreign key olarak bağlı. Mesela 2 nolu müşteri 3 tane randevu almış farklı tarihlerde. 3 nolu müşteri 4 tane randevu almış. Bunları nasıl sorguyla çekebilirim? Bir arraye atabilsem direkt en çok randevuyu alanı, en az randevuyu alanı, küçükten büyüğe sıralayabilmeyi vs. yapabileceğim. Ama sorguyu nasıl yazmam gerektiğini bir türlü bulamadım. Teşekkürler şimdiden yardım edebilecek arkadaşlara

    ÇÖZÜM: "Şimdi aklıma geldi de acaba tüm müşterilerin idlerini bir arraye atıp. Sonra o array içinde for ile tüm değerleri dönüp where id = $id şeklinde çekip sonuçları başka bir arraye mi atasam?" demiştim yorumlarda. Hemen uyguladım ve çözüme ulaştım arkadaşlar. Teşekkürler yardımlarınız için
    User::withCount('appointments')->orderBy('appointments_count', 'desc')->get();