2012-05-04 18 views
0

我存儲產品的Bean,通過這種方式:紅豆(ORM)獲取Bean與他的關係像其他豆

$product = R::dispense('product'); 
$product->name = $_POST['name']; 
$product->description = $_POST['description']; 
$product->price = $_POST['price']; 
$product->category = $_POST['category']; 
R::store($product); 

我怎樣才能表明該類別的屬性是id引用(或 FK )到類別Bean?我希望得到的類別豆像這樣:

$products = R::find('product'); 
foreach($products as $product) 
    $productCategory = $product->category->name; 
+2

提示!您可以使用以下代碼自動使用$ _POST數組填充bean,而不是分別設置每個屬性: $ bean-> import($ _ GET); $ bean-> import($ _ POST,「name,year」); //只有這些字段 – furier

回答

1

我會做它的方式是這樣的IF你不已經配置了數據庫表:

$product = R::dispense('product'); 
$product->name = $_POST['name']; 
$product->description = $_POST['description']; 
$product->price = $_POST['price']; 
$product->category = R::load('category',$_POST['category']); 
R::store($product); 

我相信如果你的數據庫有一個外部索引分配給類別,它指向類別表,那麼你可以做你以上做的。因此,在您的product表中,有一列category_id並使其成爲category.id的外部索引,應該工作。我可以稍後測試它,並給你一個更明確的答案,但這只是脫離我所知道的。

+0

謝謝!當設置一個類似於豆類的屬性時,會自動創建一個FKeys的列!這很棒:D – mauriblint