Redbean从sharedList中删除条目

时间:2015-06-11 13:12:10

标签: redbean

我正在使用RedBean,我想删除sharedList上存在的关系。现在我正在使用

$bean->sharedList = array();
R::store($bean);

但它不起作用。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

根据RedBean文档

  

共享列表包含可能与多个bean关联的bean   只有一个bean(多对多关系)。

list($vase, $lamp) = R::dispense('product', 2);

$tag = R::dispense( 'tag' );
$tag->name = 'Art Deco';

//creates product_tag table!
$vase->sharedTagList[] = $tag;
$lamp->sharedTagList[] = $tag;
R::storeAll( [$vase, $lamp] );

在您的代码中,您不会与任何其他列表共享它。你能分享你想要达到的目标。

答案 1 :(得分:0)

包含该集合的属性需要包含bean类型的名称;

e.g。

$class->sharedStudent = array();
R::store($class);

这将删除$ class bean与之前相关的任何 student bean之间的关系。但是, student bean不会被删除。

您的示例仅在共享bean类型为“list”类型时才有效(我怀疑它是这样。)

顺便说一下,您不需要再将“列表”添加到共享集合的末尾。在相信Redbean 4的开头附近,有几个版本被弃用了。