trong Mongo Eloquent khi tạo mối quan hệ Nhiều đến Nhiều, bạn không cần phải có bảng tổng hợp, đó là tư duy SQL, trong quan hệ nhiều đến nhiều trong mongo-eloquent các khóa ngoại được lưu trữ trong mảng. Vì vậy, các mô hình sẽ trông như thế này:
<?php namespace App\Models;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Employee extends Eloquent {
protected $collection = 'employee';
protected $primaryKey = '_id';
public function tasks()
{
return $this->belongsToMany('App\Models\Task');
}
}
<?php namespace App\Models;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Task extends Eloquent {
protected $collection = 'task';
protected $primaryKey = '_id';
public function employees()
{
return $this->belongsToMany('App\Models\Employee');
}
}
Ngoài ra, bạn nên tải các mối quan hệ trước khi cố gắng truy xuất chúng
$employee= Employee::with('tasks')->find('586ca8c71a72cb07a681566d')->tasks;
Bạn có thể lưu quan hệ giống như cách bạn làm trong quan hệ hasMany
$employee->tasks()->save(new Task());