我用MongoDB制作了一个Laravel 5应用程序 . 对于MongoDB,我使用的是jenssegers / laravel-mongodb .
我有一个像这样的MongoDB对象:
{
"_id" : ObjectId("556c47677347b041b6004bfd"),
"name" : "Lucht?",
"type" : "onderzoeksvragen",
"levels" : [
"5",
"6"
],
"data" : {
"name" : "Lucht?",
"description" : "<p>\n\tWat is lucht?</p>\n<p>\n\tHoe sterk is lucht?</p>\n<p>\n\tWat kun je met lucht?</p>\n",
"coach_information" : null
},
"updated_at" : ISODate("2015-06-01T11:52:23.399Z"),
"created_at" : ISODate("2015-06-01T11:52:07.536Z"),
"related_ids" : [
"556c47627347b041b6004263"
]
}
字段related_ids包含一个ObjectId数组,该数组与此对象相关 . 我想用相关对象获取此对象 . 相关对象与主对象的类型相同 . 所以,他们在同一个系列中 .
我已经阅读了Github上的文档(https://github.com/jenssegers/laravel-mongodb)并发现了这个:
belongsToMany关系不会使用数据透视表“table”,而是会将id推送到related_ids属性 . 使用Jenssegers \ Mongodb \ Model作为Eloquent; class User扩展了Eloquent {public function groups()
{
return $ this-> belongsToMany('Group',null,'users','groups');
}
}
但是,它对我不起作用 . 看看我的代码:
Controller ExploreController.php
$explore = Explore::with('related')->find('556c47677347b041b6004bfd');
Model Explore.php
public function related()
{
$this->belongsToMany('App\Explore', null, 'explore' 'explore');
}
其结果仅包括主对象,而不包括相关对象 .