İşte benim modelim, ne yaptığı, belirli bir gönderiyi kullanıcıdan alıyor. Her gönderide, comments
adlı bir dizide saklanan yorumlar da olabilir. Çalıştığım her şeye sahibim ve yazıyı yorumlarla birlikte gösterebiliyorum. Sorun, her yorumun, yorum yapıldığında görüntülenen post_date
vardır. Tarihi "3 hafta önce" gibi bir şeye "dönüştüren" işlevi çağırmam gerekiyor. TimeAgo
yöntemi, user_model.php
sayfamda bulunur. Alıntı, aslında yazı için olan data
adlı bir değişkeni gösterir, yorum dizinin içine gömülür ve bunun üzerinden görüşüme girerim.Codeigniter: Görünümden bir yöntem çağırma
Soru şu ki, bu işlemin daha iyi bir yolu var mı, yoksa görünüm sayfasından TimeAgo
yöntemini çağırmalı mıyım?
Not: Ben mongodb kullanıyorum ama mongodb veya mysql olup olmaması önemli değil. Aynı şey ...
user_model.php
$query = array("_id" => new MongoId($plan_id), "username" => $username);
$fields = array("plan_title", "comments", "post_date");
$data = $collection_plans->findOne($query, $fields);
$data['date'] = self::TimeAgo($data['post_date']->sec);
$data['username'] = $username;
return $data;
Doğru, ama "en iyi uygulama" amaçları için diyelim, bir görüş içinden bir yöntemi çağırmıyor olmamalı? Daha az umursuyorum ama merak ettim. :) – luckytaxi
Görünümden denetleyici yöntemini çağırmamalısınız, ancak yardımcılar faturaya güzelce uymalıdır. MySQL'de veya kontrol cihazınızda çalışan bir ön işlem katmanında bazı alan formatlamalarını da yapabilirsiniz. –