laravel - 如何同时向多个用户分配任务?

标签 laravel laravel-5 laravel-7 laravel-8 laravel-6

我制作任务管理系统,但我不知道如何同时将任务分配给多个用户?

这是我的AssignmentController Store 函数。

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'),
    ));
}

这是我的分配。创建页面,其中 3 个字段分配给,任务标题和任务描述完成是可选的

<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>

最佳答案

您有用户表

 id 
 name 

和分配表

        id
        title
        description

并且您必须有 user_assignment 表

        user_id
        assignment_id

该表定义用户和分配之间的多对多关系 这意味着每个用户有多个任务,每个任务属于多个用户

阅读文档: https://laravel.com/docs/7.x/eloquent-relationships#many-to-many

关于laravel - 如何同时向多个用户分配任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67031958/

相关文章:

php - Laravel Passport 打印个人访问 token

vuetify.js - 有没有人在 vuetify 和 Laravel 7 上取得成功?

queue - Laravel 队列调度错误 (SQLSTATE[HY000] : General error: 1366 Incorrect string value) while dispatchNow does not

php - PHPUnit 的 GitHub 操作失败

php - Laravel 验证 : bail rule not working

php - 将属性及其值从另一个规则传递到请求中的规则

laravel - 其他路由而不是默认路由不使用 XAMPP

mysql - 流畅的查询生成器中的 undefined variable

php - 使用 Laravel Lumen 播种空间字段

php - Laravel 默认身份验证 - 添加字段会破坏登录能力