我正在使用RedBean,我想删除sharedList上存在的关系。现在我正在使用
$bean->sharedList = array();
R::store($bean);
但它不起作用。有什么建议吗?
答案 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的开头附近,有几个版本被弃用了。