bvby İyi günler arkadaşlar Laravel'e yeni başladım. Daha en başta takıldım. Spagetti kod ile kolayca yapabileceğim bir kaç işlemi yapamıyorum. Nerede hata yapıyorum, yardımcı olursanız sevinirim. Yapmak istediğim şey şu; Veritabanımda kullanıcı tablom var ve bu tabloda 2 adet encode edilerek saklanan sütun var (array olduğu için jsonla encode edip saklamayı düşünüyorum). Giriş sırasında bu iki sütundaki verinin decode edilip tek bir array haline getirilmesi gerekiyor. Bunu da Auth::User()->degisken şeklinde çağırabilmek istiyorum. Ancak Auth sadece veritabanındaki alanları alıyor şu anki haliyle. Nasıl bir değişiklik yapmam gerekiyor acaba?
sineld Belgelerdeki bu sayfaya bakarsan yanıtını bulursun: http://laravel.gen.tr/docs/eloquent#accessors-and-mutators class User extends Eloquent { public function getJsonEdilmisAlanAttribute($value) { return json_decode($value); } } echo Auth::User()->jsonEdilmisAlan;
sineld return $value; dizi isteniyorsa; return json_decode($value)->toArray(); denemedim ancak çalışacağını düşünüyorum.
sseffa Ayrıca, protected $appends = ['property_name']; şeklinde bir tanımlama ile toArray() gibi fonksiyonları override etmenize gerek kalmadan, değişkeniniz bu fonksiyonların çağrılması durumunda otomatikman dönen dataya eklenir.