RedBean(ORM)像其他Bean一样使用他的关系获取Bean

时间:2012-05-04 13:36:25

标签: redbean

我通过这种方式存储产品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类?我希望像这样得到类别Bean:

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

1 个答案:

答案 0 :(得分: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的外部索引,应该工作。我可以稍后测试一下,给你一个更确定的答案,但这只是我所知道的事情。