Kohana 2.3.4 ORM pivot tablo sorgu

2 Cevap php

Ben Kohana en ORM ile bir özet tablo sorgulamak çalışıyorum ve bir fonksiyon inşa eksik yaşıyorum olup olmadığını merak ediyorum. Şu anda sadece tabloları "kategorilerinde" ve "ürünler" için 2 model kurulum var. Orada bir pivot tablo "categories_products" olduğunu, ancak bu veri eklerken ben bunun için bir model gerekmez:

$product = ORM::factory('product');
$product->add(ORM::factory('category', $addCat));

Ancak, bunun için bir model oluşturma olmadan onu sorgulamak için nasıl anlamaya olamaz. "Join_table" fonksiyonu sadece pivot tablonun adını döndürür (ben ilk başta tablo seçili düşündüm). Bir model olmadan pivot tabloya veri kaydedebilir, size benzer bir şekilde veri almak gerekir gibi geliyor bana. Herhangi bir fikir?

2 Cevap

Benim için tahmin edildiği gibi yukarıda aslında işe yaramadı. Ben özellik modelinde yoktu ki bir hata alıyorum tuttu. Bu script olsa çalışma olmuştur.

                $pivot = ORM::factory('category')->join_table('products'); //pivot table name between products and categories
            $productsTotal = ORM::factory('product')->join($pivot, $pivot . '.product_id', 'id')->where('category_id', $id)->find_all();

Bunun gibi açık bir istek olmadan kategoriler erişebilirsiniz:

$product_object = ORM::factory('product', $your_product_id);

foreach ($product->categores as category):
    //access category ORM object...
endforeach;

İlk bence onlara erişmeye çalıştığınızda Kohana ürününüz için kategorileri talep edecektir.