【问题标题】:RedBean (ORM) Get Bean with his relations like other BeanRedBean (ORM) 像其他 Bean 一样获取 Bean 与他的关系
【发布时间】:2012-05-04 13:36:25
【问题描述】:

我正在存储一个产品 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;

【问题讨论】:

  • 提示!您可以使用 $_POST 数组自动填充 bean,而不是单独设置每个属性: $bean->import($_GET); $bean->import($_POST, "name,year"); //只有这些字段

标签: redbean


【解决方案1】:

我会这样做的方式是如果您还没有配置数据库表:

$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 的外部索引,它应该工作。我可以稍后测试它并给你一个更明确的答案,但这只是我所知道的。

【讨论】:

  • 谢谢!当一个像 Beans 一样设置类别属性时,自动创建一个 FKeys 列!太棒了:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-23
  • 2018-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
相关资源
最近更新 更多