2016-08-08 4 views
0

laravel mongodb 컬렉션을 사용하고 있습니다. 관계 문제가 있습니다. 여기에 사용자가 여러 주소와 주소가있는 사용자 컬렉션이 있으며 다른 컬렉션에 저장되며 해당 ID는 사용자 컬렉션에 저장됩니다.laravel mongodb 중첩 수집 관계

{ 
"_id":ObjectId("52ffc33cd85242f436000001"), 
"contact": "987654321", 
"dob": "01-01-1991", 
"name": "Tom Benzamin", 
"address_ids": [ 
    ObjectId("52ffc4a5d85242602e000000"), 
    ObjectId("52ffc4a5d85242602e000001") 
    ] 
} 

는 사용자 정보와 자신의 주소 정보를 얻기 위해 내가 주소

2 사용자에 대한 쿼리 하나 다른을해야 그것을 웅변 관계를 사용하여 단일 쿼리에 주소를 가진 사용자 정보를 얻을 수 있습니다 할 수 있습니다. 죄송합니다. mongodb 컬렉션에 새로 왔습니다.

+0

bdschr : PHP에서 다음과 같이

당신은 설득력 쿼리를 작성할 수 있습니까? 나는 같은 문제에 직면 해있다. – maj

답변

0

달성하고자하는 것과 같은 사용자 문서의 문서 ID를 저장할 필요가 없습니다. Laravel은 깨끗한 코드가 아니며 깨끗하지 않습니다.

는 다음과 같은 관계를 확인 :

  • 사용자> hasMany의> 주소를

  • 주소> belongsTo를> 모든 주소 오브젝트가 사용을 포함 Laravel에 사용자 개체를로드하려면 사용자

열망하는 적재 (https://laravel.com/docs/5.3/eloquent-relationships#eager-loading).

User::where(...some condition...)->with('addresses')->get(); 

안부

당신이 할 수 이것에 대한 해결책을 찾기 위해