首页 > 解决方案 > 使用 MongoDB 和 Laravel 在文档中获取 hasMany 关系

问题描述

只是想在 Laravel 上与 MongoDB 建立一些关系,但我的请求为空。我有一个带有 trip_id 的“乘客”集合。像这样的东西:

{  
   "id":"5d680fd36882d19e782d67bd",
   "trip_id":"5d680fcb6882d19e782d6380",
   "name":"Lee Jones"
}

还有一个名为“lotes”的集合,其中包含每个人都有多次旅行的文档。像这样的东西:

{  
   "_id":"5d680fca6882d19e782d60f6",
   "user_id":"5d680fca6882d19e782d60b4",
   "date_to_ride":"2019-08-29T22:00:00.000+00:00",
   "trips":[  
      {  
         "trip_id":"5d680fcb6882d19e782d6380",
         "car":"VW Golf"
      }
   ]
}

所以我想在获取旅行信息时获取所有具有相同 trip_id 的乘客。

这是我对 Trip 模型的关系:

public function passengers()
{
    return $this->hasMany(\App\Passenger::class, 'trip_id', 'lotes.trips.trip_id')->whereNotNull('trip_id');
}

这是我在 json 上的结果:

"passengers": []

任何想法?

标签: phplaravelmongodbeloquentmoloquent

解决方案


推荐阅读