Giriş yapmadınız.

Duyuru

TÜRKÇE KİTAP DUYURUSU:
Laravel 5 : Laravel 5.1 Güzelliği (Türkçe)
Vue.js 2 : Vue.js 2 Majesteleri (Türkçe)

#1 02.02.2019 02:24:07

ysf
Üye
Kayıtlı: 06.02.2017
Mesajlar: 39

Mutatorslar Çalışmıyor

Selamlar arkadaşlar laravel 5.2 sürümü kullanmaktayım ve alt kısımdaki sorunlarla karşılaşmaktayım.

Bu şekilde ise whereHas kodunu kullanamıyoruz.

$safes = $user->safes->whereHas('companies', function ($query) {
            $query->whereIn('id',UserCompanies());
        })->where('status',1)->where('currency_id',$income->currency_id)->lists("display_name","id")->all();

Bu şekilde whereHas komutu çalışıyor fakat bu seferde display_name için kolon bulunmuyor hatası basıyor. display_name mutators olarak eklenmiştir.

$safes = $user->safes()->whereHas('companies', function ($query) {
            $query->whereIn('id',UserCompanies());
        })->where('status',1)->where('currency_id',$income->currency_id)->lists("display_name","id")->all();

Safe Modeline ekleme şeklim

    protected $appends = ['display_name'];

    public function getDisplayNameAttribute()
    {
        return $this->name." (".$this->currency->symbol.")";
    }

Yardımlarınız için teşekkür ederim.

Çevrimdışı

#2 02.02.2019 11:21:33

sineld
Yönetici
Yer: Bursa
Kayıtlı: 26.12.2012
Mesajlar: 1,418
Website

Yanıt: Mutatorslar Çalışmıyor

    public function getDisplayNameAttribute()
    {
        return $this-> display_name." (".$this->currency->symbol.")";
    }

name'in display_name olması gerekmez mi?

Çevrimdışı

#3 02.02.2019 12:00:48

ysf
Üye
Kayıtlı: 06.02.2017
Mesajlar: 39

Yanıt: Mutatorslar Çalışmıyor

sineld yazdı:
    public function getDisplayNameAttribute()
    {
        return $this-> display_name." (".$this->currency->symbol.")";
    }

name'in display_name olması gerekmez mi?

DB'de name ismiyle bir kombinasyon oluşturup display_name kolonu oluşturmaktayım.

Çevrimdışı

#4 02.02.2019 13:27:04

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,496
Website

Yanıt: Mutatorslar Çalışmıyor

->where('currency_id',$income->currency_id)->get()->lists("display_name","id");

Ayrıca display_name mutator değil accessor.

Çevrimdışı

#5 02.02.2019 13:49:51

ysf
Üye
Kayıtlı: 06.02.2017
Mesajlar: 39

Yanıt: Mutatorslar Çalışmıyor

mgsmus yazdı:
->where('currency_id',$income->currency_id)->get()->lists("display_name","id");

Ayrıca display_name mutator değil accessor.

teşekkürler alt kısımdaki gibi ->all() çalışmaktadır.

->where('currency_id',$income->currency_id)->get()->lists("display_name","id")->all();

Çevrimdışı

Forum alt kısmı