PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Tuesday, November 15, 2022

[FIXED] How to assign task to multiple users at same time?

 November 15, 2022     laravel, laravel-5, laravel-6, laravel-7, laravel-8     No comments   

Issue

I make task management system and i don't know well how to assign task to multiple users at same time?

This is my AssignmentController Store function.

public function store(Request $request)
{
    $request->validate(array(
        'assignment' => 'array|required',
        'assignment.*.assigned_to' => 'required',
        'task_title' => 'required',
        'task_description' => 'required',
        'done_at' => 'sometimes',
    ));

foreach($request->get('assignment') as $assignment)

    $assignment = Assignment::create(array(
        'task_title' => $request->input('task_title'),
        'task_description' => $request->input('task_description'),
        'assigned_to' => $assignment['assigned_to'],
        'done_at' => $request->input('done_at'),
    ));
}

This is my assignment.create page where is 3 field assigned_to, task_title and task_description done_at is optional

<form method="post" action="{{route('assignments.store')}}">
        @csrf
        <table>
                <tr>
                    <td>Staff Name : </td>
                    <td>
                        <select name="assignment[{{$key}}][assigned_to]" id="assigned_to" multiple>
                            <option value="">Select One</option>
                            @foreach ($staffs as $staff)

                                <option value="{{ $staff->id }}">{{ $staff->name }}</option>

                            @endforeach
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>Task Title : </td>
                    <td><input type="text" name="task_title" class="form-control"></td>
                </tr>
                <tr>
                    <td>Task Description : </td>
                    <td><input type="text" name="task_description" class="form-control"></td>
                </tr>
                <tr>
                    <td>Done At :</td>
                    <td><input type="time" name="done_at" class="form-control"></td>
                </tr>
            <td><button class="btn btn-primary" name="submit" type="submit" value="submit" id="submit">Submit</button></td>
        </table>
    </form>

Solution

You have users table

 id 
 name 

and assignments table

        id
        title
        description

And you must have user_assignment table

        user_id
        assignment_id

This table define many to many relationship between users and assignments Which means that each user has many tasks and each task belongs to many users

read the documentation : https://laravel.com/docs/7.x/eloquent-relationships#many-to-many



Answered By - Rafah AL-Mounajed
Answer Checked By - Marilyn (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

1,210,274

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © 2025 PHPFixing