Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

caglar_kocak

  • 21 Ağu 2023
  • 6 Haz 2021 tarihinde katıldı
  • 2 en iyi yanıt
  • Laravel 8 Sorgu Hatası tartışmasında
  • Laravel 8 Sorgu Hatası tartışmasında

    mgsmus evet böyleymiş. Benim tecrübesiz yazılımcıyım. Dahası yazılımcı değilim. Bunu bilmiyordum öğrenmiş oldum. Sadece bu durum bana mantıksız geliyor. örnek verecek olursam ,

    if('4'=='4xxxx'){
         // buraya giriş yapmaz.
     }

    aynı davranışı veri tabanı sorgusunda da beklerdim. Ama öyle değilmiş.

    • Laravel 8 Sorgu Hatası tartışmasında

      mgsmus veri tabanında 4ppxllspfpfkgkaa gibi bir veri varchar olarak tutuluyor. ben ise sorgudan 4 değerini gönderiyorum ve eşit mi değil mi diye kontrol ediyorum. sonuç olarak bana eşit diyor. Bu doğru bir şey mi ? Bunun olamaması lazım. int 4 göderirim ve varchar da sadece 4 tutuluyordur ve bana eşit der , bunu anlarım. Fakat 4 ifadesinin 4 ile başlayan ve peşinden harfler gelen tüm ifadelere eşit olması garip bir durum değil mi ?

      • Laravel 8 Sorgu Hatası tartışmasında

        mgsmus Model üzerinden sorgular yazmadığım için oradan değiştirmem işe yaramaz diye düşünmüştüm. Yarar mı ?

        user_id , users tablosu için int ve otomatik artarak devam ediyor ama kullanıcı girişi yapmadan alış veriş yapan kişileri tanımak için bazı tablolarda user_id değeri uniq olacak şekilde belirli string değerlerle ifade ediliyor. Örneğin alış veriş yapan kişinin adres bilgisi ya da sipariş bilgisi gibi veriler bu tarz id ler üzerinden takip ediliyor. Hayatımda ilk defa böyle saçma bir şeyle karşılaştım. Yani veri tabanındaki tür neyse ilk önce ona göre eşit mi değil mi diye bakmalı. Sorguda int veri gönderdim diye veri tabanındaki varchar veriyi int olarak algılaması çok saçma bir durum değil mi ?

        • Laravel 8 Sorgu Hatası tartışmasında

          caglar_kocak Acı bir tecrübe yaşayarak sebebini buldum. $user->id değeri int. bir değer olarak geldiği için veri tablosundaki string ifade de bir sayı ile başladığında onu da int ifadeye çeviriyor ve doğal olarak yanlış eşleşme veriyor. Tek tek kodlarımı kontrol ederek her şeyi düzelttim. Çok zaman aldı maalesef.

          • Laravel 8 Sorgu Hatası tartışmasında

            Merhaba ,

            laravel 8 kullanıyorum ve aşağıdaki gibi bir sorgum var ,

            $addresses = DB::table('addresses')->where('user_id',$user->id)->where('active_passive',1)->get();

            bu sorgudan beklentim user_id sütununun gelen $user->id ile eşleşerek bana doğru verileri sunması. Ancak böyle olmuyor.

            user_id sütunu varchar olarak veri tabanında saklanıyor. ve bazı user_id değerleri 3,4,5 gibi sayısal değerler olabileceği gibi bazı user_id değerleri ise 16 karakterden oluşan random değerler oluyor.

            burada sorun şurada oluşuyor. örneğin user_id değeri 4 olan bir kullanıcı olsun ve benim adres tablomda user_id değeri 4 olan bir satır olsun bunun yanıda ise user_id değeri '4pdAeealiZ1flMuVu5OF' şeklinde olan bir satır daha olsun. maalesef '4pdAeealiZ1flMuVu5OF' bu satırı da getiriyor. hatta user_id değeri 4 ile başlayan tüm satırları getiriyor. where koşulunda araya '=' de koydum ama yine de olmuyor. Sorun tam olarak nedir ? Düzeltmeyi nasıl yapabilirim ? Çok acil bir konu oldu benim için. Çünkü halihazırda çalışan bir web sitesinde bu sorunu tesadüfen fark ettim. Şimdiden teşekkür ederim.

            • mgsmus Hocam süpersin ya. Saygılar... Net işe yaradı. Çok teşekkür ederim.

            • acTiv
              bir json yapı kurdum. Henüz gönderilmesi denenmemiş mailler 2 , gönderilenler 1 ve gönderilemeyenler 0 , catch e düşerse tekrar fonksiyonu çağırıyorum. Şimdilik istediğim şey olmuş oldu. Tabi çok az bir maliyet getirdi. fazladan bir update işlemi yapıyorum.

              Aslında ilk olarak sizin dediğiniz gibi yapmaya çalıştım ancak mail gitmezse evet bir şey dönüyor. Ancak giderse boş dönüyor. Boş dönmesinden rahatsız oldum.

            • acTiv dögü içerisinde sırayla kişilere mail gönderiyorum. Mail herhangi bir sebepten gitmez ise oluşan hatayı catch içerisinde yakalayıp log kayıtlarına gönderiyorum ve mailin neden gidemediğini görüyorum. try catch kullanmadan nasıl yapabilirim ?

              • bu olayı bir fonksiyona devretsem ve finally de tekrar o fonksiyonu çağırsam herhalde olur demi ?

              • for(){
                    try{
                
                
                }
                catch(\Exception $e){
                    // buraya herhangi bir seebepten düşerse döngü duruyor. Burada işini yaptıktan sonra devam etmesini sağlayabilir miyim ? 
                
                }
                }
                • caglar_kocak

                  try {
                      //...
                      
                  } catch (Throwable $e) {
                     // burada throw $e yapmazsanız ya da burada yaptığınız işlem
                     // döngüyü kıracak bir işlem yapmazsa, hata vermezse
                     // döngü tamamlanıncaya kadar devam eder.
                  }
              • Cron Job Çalışmıyor tartışmasında

                mgsmus abi bulamadım php nin yolunu. cpanelde hangi menüden bulabilirim ?

                • Cron Job Çalışmıyor tartışmasında

                  mgsmus hmmm tamam abi anladım. Php ye giden yol demi ? benimki şu sanırsam ,

                  /opt/alt/php74/usr/bin/php

                • Cron Job Çalışmıyor tartışmasında

                  mgsmus * * * * * /home/name/php /home/name/project/artisan schedule:run >> /dev/null 2>&1 demi ?

                  • Cron Job Çalışmıyor tartışmasında

                    mgsmus Yok doğru söylüyorsun abi onunla da alakalı olamaz. Artık kafayı yedirtme noktasına geldi bana. Bence yolu düzgün algılamıyor. Sonuçta manuel olarak terminalden çalıştırdığım da sorun olmuyor.

                    Yolu şu şekilde girdim c panelde dosya yöneticisinden projenin olduğu yere baktım. orada /home /name ve bunların altında projeler var.
                    ben de yolu cd /home/name/project olarak verdim. Acaba başka bir şeyler eklemem gerekli olabilir mi ?

                    • Cron Job Çalışmıyor tartışmasında

                      mgsmus Mustafa abi dökümanda şöyle bir şey var ,

                      To utilize this feature, your application must be using the database, memcached, dynamodb, or redis cache driver as your application's default cache driver. In addition, all servers must be communicating with the same central cache server.

                      config/cache.php dosyasına baktım da

                      'default' => env('CACHE_DRIVER', 'file'), Sorun buradan kaynaklanıyor olabilir mi ?