Bất cứ ai có thể giúp tôi làm thế nào để tiết kiệm nhiều mối quan hệ? Tôi có nhiệm vụ, người dùng có thể có nhiều tác vụ và tác vụ có thể có nhiều người dùng (nhiều đến nhiều), Điều tôi muốn đạt được là trong biểu mẫu cập nhật, quản trị viên có thể chỉ định nhiều người dùng cho các tác vụ cụ thể. Điều này được thực hiện thông qua đầu vào nhiều lựa chọn html
name="taskParticipants[]"
Điểm bắt buộc ở đây là thông qua cùng một biểu mẫu (đầu vào), bạn có thể thêm / bớt người dùng, đó là lý do tại sao tôi phải sử dụng sync (). Có lẽ tôi nên bắt đầu lại từ đầu nhưng không biết bắt đầu từ đâu ...
Đây là mô hình Người dùng của tôi:
public function tasks()
{
return $this->belongsToMany('Task','user_tasks');
}
Mô hình nhiệm vụ
public function taskParticipants()
{
return $this->belongsToMany('User','user_tasks');
}
TaskController
public function update($task_id)
{
if (Input::has('taskParticipants'))
{
foreach(Input::get('taskParticipants') as $worker)
{
$task2 = $task->taskParticipants->toArray();
$task2 = array_add($task2,$task_id,$worker);
$task->taskParticipants()->sync(array($task2));
}
}
}
Đây là cấu trúc của bảng nhiệm vụ id | tiêu đề | hạn chót
user_tasks
id|task_id|user_id