我不能为我的生活让RedBeanPHP返回关系的bean /对象。
我创造了一个人。我附上了一张相关的照片bean并将其添加到了人的照片列表中。我救了那个人。 DB正确显示了所有记录和关系。当我尝试加载$ person bean并取消引用照片列表时,它总是为空!
$person = R::dispense('person');
$photo = R::dispense('photo');
$person->name="Bob";
$photo->name="BigPic";
$person->ownPhotos[] = $photo;
R::store($person);
$person = R::findOne('person', ' username = ? ', array("Bob"));
$logger->dump("Person", $person); //It's a valid bean
$logger->dump("Photos",$person->alias('photo')->ownPhotos); //It's null
$logger->dump("Photos",$person->ownPhotos); //It's null
问题:
为什么$person->ownPhotos and $person->alias('photo')->ownPhoto
始终为空?
答案 0 :(得分:1)
尽量不要将bean名称复数化:
$person = R::dispense('person');
$photo = R::dispense('photo');
$person->name="Bob";
$photo->name="BigPic";
$person->ownPhoto = array($photo);
R::store($person);
$person = R::findOne('person', ' username = ? ', array("Bob"));
$logger->dump("Person", $person); //It's a valid bean
$logger->dump("Photos",$person->alias('photo')->ownPhoto); //It's null
$logger->dump("Photos",$person->ownPhoto); //It's null
据我所知,Redbean还没有复数功能,但我最近还没有真正使用它。文档(http://www.redbeanphp.com/adding_lists)表明它们也不是复数,所以我会坚持这一点。确保在查询后检查数据库以查看是否正确插入了某些内容,而不仅仅是检查日志。您应该会在照片表中看到一个名为person_id
的行,如果有效的话。