• 05-11-2020, 22:33:58
    #1
    Merhaba;

    Laravel ile Has Many Through kullanarak 1.tablodan 2.ye oradan 3.ye geçmek istiyorum tablom şu şekilde;

    1.Tablo (Kategori)
    -->id
    -->kategori_adi

    2.Tablo(Kategori_Urun)
    -->id
    -->kategori_id
    -->urun_id

    3.Tablo(Urun)
    -->id
    -->urun_adi

    Amacım başlangıçta kategori tablosundaki id ile urun adlarını çekmek

    Model dosyası :
    public function Urunler(){
        return $this->hasManyThrough(
            'App\Models\Urun', 'App\Models\Kategori_Urun',
            'kategori_id', 'id', 'id','id'
        );
    }
    Control Dosyası:
    $urunler = Kategori::find(1)->Urunler;
    Bu şekilde kullandığım zaman saçma veriler çekiyor hatam nerede ?

    Teşekkürler.
  • 05-11-2020, 22:39:25
    #2
    dev
    Kurumsal Üye
    Modal adlı üyeden alıntı: mesajı görüntüle
    Merhaba;

    Laravel ile Has Many Through kullanarak 1.tablodan 2.ye oradan 3.ye geçmek istiyorum tablom şu şekilde;

    1.Tablo (Kategori)
    -->id
    -->kategori_adi

    2.Tablo(Kategori_Urun)
    -->id
    -->kategori_id
    -->urun_id

    3.Tablo(Urun)
    -->id
    -->urun_adi

    Amacım başlangıçta kategori tablosundaki id ile urun adlarını çekmek

    Model dosyası :
    public function Urunler(){
        return $this->hasManyThrough(
            'App\Models\Urun', 'App\Models\Kategori_Urun',
            'kategori_id', 'id', 'id','id'
        );
    }
    Control Dosyası:
    $urunler = Kategori::find(1)->Urunler;
    Bu şekilde kullandığım zaman saçma veriler çekiyor hatam nerede ?

    Teşekkürler.
    Sizin bu durumda many to many kullanmaniz lazim. Kategori_Urun tablonuz burada pivot tablo olacak ve id field'ina gerek yok.
  • 05-11-2020, 22:58:54
    #3
    @Noroc; Hocam çok teşekkürler belongstomany ile çözdüm