2014-01-08 120 views
1

如果我在我的应用程序,它有许多设置与其他模型类型不同关系的定义雄辩的模型,我怎样才能得到信息的所有这些关系的不知道什么对模型我在处理?获取记录的所有关系

例如,假设它可以有很多行,也属于一个用户一个简单的事务模型。

现在,给出的交易模型(人口或空置的)的情况下,我怎么能找到关于它关系到其他车型?

只是要清楚,我不想检索实际的相关数据,我只是想找出每个关系指的是什么类,以及它是否是一对多,多对多等

任何意见赞赏。

感谢

回答

2

Laravel雄辩的模型不以这种方式工作,关系由模型中的方法定义的,而不是自动的被实例化时的模式,因此,当你想用实际调用这些方法的要求加载一个特定的关系。

当你实例化模型类时,它定义了零关系。这可以通过以下显示:

$user = new User(); 

print_r($user->getRelations()); 

//Output : empty array 

正如你所看到的模型是一无所知,可能会或可能不会在关系法声明的任何关系。当你调用一个模型关系:

$user = new User(); 

$user->find(1)->roles()->get(); 

雄辩设置使用的方法setRelation($relation, $value)是采用被称为第一个参数,该方法作为第二返回方法的名称模型之间的关系。因此,在你明确要求之前,为关系提供一个不存在的背景。

我知道这是不是你希望想听到的声音,但也没有办法用雄辩的做到这一点。

+1

这个答案很不幸是正确的。对于雄辩来说这是不可能的。 –