jenssegers/laravel-mongodb Basic Usage on cloud9 with php7 ⑪ difference between embedsMany relationship and hasMany relationship

embedsMany: 子供側の model は mongoDB 内に collection が作成されず親の collection 内にデータがネストされる。 _id は自動で付与される。

f:id:monteecristoo:20200127211644p:plain

親: order 子: orderImage

$order = App\Order::where("user_id", 42)->first()

$order->orderImages()->create(["userEdit" => "test"]);

 

一方、hasMany は子供側も collection が作成され、子供側に親の id を付与したデータが作成される。

f:id:monteecristoo:20200127212140p:plain

 

子供

f:id:monteecristoo:20200127212334p:plain

user_id(自動で付与される)による collection 間の参照型