• 11-05-2020, 02:04:54
    #1
    Merhaba arkadaşlar, codeigniter'a bu akşam başladım ancak takıldığım bir nokta mevcut.

    Model dosyasında şöyle bir fonksiyon oluşturdum.

    public function getPostTime($date){
    $time = Time::parse($date, 'Europe/Istanbul');
    $diff = $current->difference($time);
    
    return $diff->humanize();
    }
    Bunu view içerisinde foreach'de nasıl çağırabilirim? Laravel'da direkt olarak çağırabiliyorduk ancak codeigniter'da olay çok farklı sanıyorum.

    View Örneği:
    <?php foreach($discussion as $item): ?>
    <?php echo $item->time ?>
    <?php endforeach ?>
    Eğer getPostTime fonksiyonunda bir değer almasaydık direkt olarak Controller'a ekleyip o şekilde çağırabiliyoruz ancak fonksiyona bir değer gelmesi gerektiği için nasıl çağırabilirim onu anlamadım. Yardımcı olan arkadaşlara şimdiden teşekkürler.
  • 11-05-2020, 02:07:06
    #2
    Yerleri karıştırdın galiba helpers içinde olması lazım model de veri tabanı işlemleri insert select işlemi olur helper de de fonksiyon lar
  • 11-05-2020, 02:19:36
    #3
    royxr adlı üyeden alıntı: mesajı görüntüle
    Yerleri karıştırdın galiba helpers içinde olması lazım model de veri tabanı işlemleri insert select işlemi olur helper de de fonksiyon lar
    İlk olarak cevabınız için teşekkürler. Peki helper'daki fonksiyonumu view içerisinde nasıl çağırabilirim? Dökümana baktım baktım bulamadım. View'da fonksiyonu çağırdığımda 404'e düşüyor.
  • 11-05-2020, 02:43:09
    #4
    Direk fonksiyon ile örnek function deneme()

    deneme();



    FSahin adlı üyeden alıntı: mesajı görüntüle
    İlk olarak cevabınız için teşekkürler. Peki helper'daki fonksiyonumu view içerisinde nasıl çağırabilirim? Dökümana baktım baktım bulamadım. View'da fonksiyonu çağırdığımda 404'e düşüyor.


    Önce bir autoload da helper da fonksiyon diye kaydet

    Sonra helpers klasörü içerisinde fonksiyon_helper.PHP

    Sonra bu kodlarını koy

    View de çalıltır
  • 11-05-2020, 03:39:34
    #5
    Helpers ı karıştırmayın bence hangi sayfada çalıştıracaksanız controller dosyasındaki fonksiyona model datanızı çağırmanız yeterli.

    Özetle: model de verileri toplarsınız, a tablosundan b yi getir vs diye.

    Controller da çalıştıracağınız modellerin komutlarını eklersiniz.

    ['ornekverim'] = $this->ornek_model->ornek_model_fonksiyonu($varsa_data);

    Controller dosyasına kullanacağınız modeller dosyasını da çağırmanız gerekir.

    Telefondan yazıyorum umarım güzel açıklama yapabilmişimdir.
  • 11-05-2020, 03:51:55
    #6
    efeyusuf adlı üyeden alıntı: mesajı görüntüle
    Helpers ı karıştırmayın bence hangi sayfada çalıştıracaksanız controller dosyasındaki fonksiyona model datanızı çağırmanız yeterli.

    Özetle: model de verileri toplarsınız, a tablosundan b yi getir vs diye.

    Controller da çalıştıracağınız modellerin komutlarını eklersiniz.

    ['ornekverim'] = $this->ornek_model->ornek_model_fonksiyonu($varsa_data);

    Controller dosyasına kullanacağınız modeller dosyasını da çağırmanız gerekir.

    Telefondan yazıyorum umarım güzel açıklama yapabilmişimdir.
    Hocam MVC yapısına gore bu yanlış model veri tabanı işleri yaptırılır arkadaş fonksiyon kodluyor helpers koysa o fonksiyonu istediği yerde kullanır örnek deneme();
  • 11-05-2020, 05:35:45
    #7
    efeyusuf adlı üyeden alıntı: mesajı görüntüle
    Helpers ı karıştırmayın bence hangi sayfada çalıştıracaksanız controller dosyasındaki fonksiyona model datanızı çağırmanız yeterli.

    Özetle: model de verileri toplarsınız, a tablosundan b yi getir vs diye.

    Controller da çalıştıracağınız modellerin komutlarını eklersiniz.

    ['ornekverim'] = $this->ornek_model->ornek_model_fonksiyonu($varsa_data);

    Controller dosyasına kullanacağınız modeller dosyasını da çağırmanız gerekir.

    Telefondan yazıyorum umarım güzel açıklama yapabilmişimdir.
    royxr adlı üyeden alıntı: mesajı görüntüle
    Hocam MVC yapısına gore bu yanlış model veri tabanı işleri yaptırılır arkadaş fonksiyon kodluyor helpers koysa o fonksiyonu istediği yerde kullanır örnek deneme();
    Yardımlarınız için teşekkürler arkadaşlar.

    Helpers'da DB işlemi yaptırıyorum, bu herhangi bir sorun oluşturur mu?

    function commentsCount($id){
        $db = db_connect();
        $sql = 'SELECT * FROM comments WHERE discuss_id = ?';
        $res = $db->query($sql, $id);
    
        return count($res->getResult());
    }
    Bunu model'de yapıp foreach içerisine çekemediğim için bu şekilde yapmak zorunda kaldım.
  • 11-05-2020, 06:01:38
    #8
    FSahin adlı üyeden alıntı: mesajı görüntüle
    Yardımlarınız için teşekkürler arkadaşlar.

    Helpers'da DB işlemi yaptırıyorum, bu herhangi bir sorun oluşturur mu?

    function commentsCount($id){
        $db = db_connect();
        $sql = 'SELECT * FROM comments WHERE discuss_id = ?';
        $res = $db->query($sql, $id);
    
        return count($res->getResult());
    }
    Bunu model'de yapıp foreach içerisine çekemediğim için bu şekilde yapmak zorunda kaldım.
    Neden foreach çekemiyorsun? $this->load->model(“Posts_model”) yaptığında $this->posts_model olarak bir obje elde edersin

    $this->posts_model->getCommenCount($id)

    ayrıca helpers içerisine CI instance çekebilirsin. $CI = &get_instance();
    print_r($CI->db->where(‘id=1’)->get(‘posts’)->result());
    • akaracay
    akaracay bunu beğendi.
    1 kişi bunu beğendi.
  • 11-05-2020, 15:57:44
    #9
    FSahin adlı üyeden alıntı: mesajı görüntüle
    Yardımlarınız için teşekkürler arkadaşlar.

    Helpers'da DB işlemi yaptırıyorum, bu herhangi bir sorun oluşturur mu?

    function commentsCount($id){
        $db = db_connect();
        $sql = 'SELECT * FROM comments WHERE discuss_id = ?';
        $res = $db->query($sql, $id);
    
        return count($res->getResult());
    }
    Bunu model'de yapıp foreach içerisine çekemediğim için bu şekilde yapmak zorunda kaldım.
    Hocam İstediğniz gibi Kullana bilirsiniz ama MVC yapsına uygun degıl yanı codegnıter duzenı dışına cıkıyorsunuz Model de Veri tabanı işlemleri Select Update insert delete gibi işler yaptırılır helpers de yazdıgınız fonksiyonu orda yazdığın her fonksiyonu sadece fonksiyonun ismini yazarak cağıra bılırsınız daha iyi modele yazarsanız mvc yapısından cıkar bide boyle bir zorlugu olur $this->load->model("fonksiyon"); $this->fonksiyon->fonksiyonisim(); şu şekilde kulanırsın ama direk helpers yazarsan fonksiyonisim(); şu şekil direk çağırısın