RedBeanPHP关系

时间:2013-08-08 16:58:39

标签: redbean

我不能为我的生活让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始终为空?

1 个答案:

答案 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的行,如果有效的话。