Biri birçok ilişkiyi nasıl kurtaracağım konusunda bana yardım edebilir mi? Görevlerim var, kullanıcının birçok görevi olabilir ve görev çok sayıda kullanıcıya sahip olabilir ( çoktan çoğa ), başarmak istediğim şey, güncelleme formunda yöneticinin birden fazla kullanıcıyı belirli bir göreve atayabilmesidir. Bu, html çoklu seçim girişi ile yapılır
name="taskParticipants[]"
Buradaki püf noktası, aynı form (giriş) aracılığıyla kullanıcı ekleyebileceğiniz / kaldırabileceğiniz, bu yüzden sync () kullanmam gerekiyor. Belki baştan başlamalıyım ama nereden başlayacağımı bilmiyorum ...
Bu benim Kullanıcı modelim:
public function tasks()
{
return $this->belongsToMany('Task','user_tasks');
}
Görev modeli
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));
}
}
}
Bu, tabloların yapısıdır görev kimliği | başlık | son tarih
user_tasks
id|task_id|user_id