Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在RedBeanPHP中提取外键相关的bean?_Mysql_Orm_Php 5.3 - Fatal编程技术网

Mysql 如何在RedBeanPHP中提取外键相关的bean?

Mysql 如何在RedBeanPHP中提取外键相关的bean?,mysql,orm,php-5.3,Mysql,Orm,Php 5.3,我正在一个新项目中使用RedBean PHP ORM 1.2和Zend和Mysql。我仍然在学习它的过程中,它在很多情况下都非常有效,除了我找不到如何加载外键相关的bean。请允许我解释一下 我有两张桌子;成员和提要。每个“提要”都通过MySQL中的外键链接到一个成员。排序模式如下所示: Member table: ID - Primary Key NAME - A text field Feeds Table: ID - Primary Key COMMENT - A text fi

我正在一个新项目中使用RedBean PHP ORM 1.2和Zend和Mysql。我仍然在学习它的过程中,它在很多情况下都非常有效,除了我找不到如何加载外键相关的bean。请允许我解释一下

我有两张桌子;成员和提要。每个“提要”都通过MySQL中的外键链接到一个成员。排序模式如下所示:

Member table:
 ID - Primary Key
 NAME - A text field

Feeds Table:
 ID - Primary Key
 COMMENT - A text field
 USER_ID - This is linked via a MySQL FK to Member.ID
我想做的是:

 $feed = $rb->load('feeds',1);
 $feed->member->NAME //this should get me the name of the member using the FK
但我不知道我怎么能做到这一点。我读过关于链接、关联和树的文章,但这些都不适用于表中已经存在数据的场景,我只需要拉取一个bean和另一个相关的bean。为了澄清,下面是实现我所需的代码:

$feed = $rb->load('feeds',1);
$member = $rb->load('members',$feed->USER_ID);
$member->NAME //This works
我真的想避免额外的一行,更重要的是必须在应用程序级别重新声明FK


欢迎您的意见和想法

RedBean是一种ORM,它支持代码而不是模式定义。尽管您可以使用带有前缀的模式的RedBean,但如果您只是将其当作对象数据库来处理,它实际上效果最好

R::setup();

class Model_Feed extends RedBean_SimpleModel  {
  public function getMember() {
    $member = R::relatedOne($this->bean,"member");
    return $member;
  }
}
要测试这一点:

//test....
$feed = R::dispense("feed");
$feed->comment = "lorem ipsum";
$id = R::store($feed);
$member = R::dispense("member");
$member->name = "Xavier";
R::clearRelations($feed,"member",$member);
$feed = R::load("feed",$id);
echo $feed->getMember()->name; //prints: Xavier

它似乎不起作用,var_dump$feed->getMember->name;导致一个空值。。。