Cách tiếp cận của bạn đối với khóa ngoại là sai, khi ở trong ngữ cảnh của hasMany. Thay vào đó, một cột duy nhất có tên là team_id sẽ có trên vé và sau đó bạn có thể làm như sau.
public function teams()
{
return $this->HasMany('App\Team', 'team_id');
}
Điều này sẽ hoạt động nếu vé của bạn trông giống như vậy.
{
"_id": ObjectId("5f32d9bb486e94459b6531c3"),
"subject": "\"URGENT\" Non-Compliance In (Eastern Region)",
"content": "abc",
"user_team": "5f044199e40dfe4847056785",
"team_id":"5f3012bbb7c2bc422e4da5a2"
"organization_id": "5f74359c7dcc8f6fbb2b47e2"
}
Thay vào đó, có vẻ như bạn đang thực sự làm nhiều đến nhiều, bởi vì một đội có thể có nhiều vé và ngược lại. Điều này có thể được định nghĩa như vậy, điều này có thể sẽ thêm dữ liệu vào cả hai mô hình, nhưng tôi không phải là chuyên gia về Mongodb
trong Laravel
.
public function teams()
{
return $this->belongsToMany(
Team::class, null, 'ticket_ids', 'team_ids'
);
}
Bạn có thể tìm thấy tất cả những điều này trong tài liệu .