Yii2 İki Modelin Bir View'da Kullanımı 2


        Bu yazıda, geçenlerde anlattığım yazının devamı olarak farklı bir yoldan bir view'de iki model nasıl kullanılır bundan bahsedeceğim.
  • Hangi view'ı kullanıyorsak ona ait controller action'ının içeriğini düzenlememiz gerekiyor. Öncelikle kullanacağınız modele karar vermeniz gerekir, yani var olan bir veriyi mi kullanacağız yoksa o modelin yeni bir verisi mi oluşturulacak. Her ikisi için de farklı yol kullanılır. 
    •  Eğer modele ait yeni bir veri oluşturulacaksa (örneğin, create işlemi için):
      • $model_name = new ModelName(); // kodu kullanılır. Eğer formda tablonun belirli alanlarını kullanmanız gerekiyorsa bunun için senaryoları kullanmalısınız. 
    • Modelde var olan veriler kullananılacaksa (örneğin, update işlemi için);
      • $model_name = $this->findModel($param); // kodu kullanılmalı. Burada dikkat edilmesi gereken nokta findModel fonksiyonunun hangi modeli döndürdüğü. Bu fonksiyonun içerisine girerek bunu ayarlayabiliriz. Bu kod parametreye göre modeldeki veriyi formda kullanmaya yarar.
    •  Kullanılacak modeller oluşturulduktan sonra bunları render ederek son işlemi de gerçekleştirmiş oluyoruz.
      • return $this->render('view_name', [          
            'modelA' => $model_name,
            'modelB' => $model_name2,          
            'userToRoles' => $userToRoles      
        ]);
        Böylece farklı bir yoldan iki model kullanmış olduk. Bir sonraki yazımda bahsettiğim bir view'da birden fazla model kullanımına bir örnek vereceğim. İyi çalışmalar diliyorum.