Laravel在包含多个额外字段的多对多上使用同步

Laravel在包含多个额外字段的多对多上使用同步,laravel,many-to-many,Laravel,Many To Many,我正在尝试在多对多上使用同步,包括状态和注释。我可以同步没有状态和评论的应用程序 NewUserAccount模型 公共功能应用 { 返回$this->belongsToMany'App\Application'、'new\u user\u account\u applications'、'new\u user\u id'->带pivot'Application\u comment'、'status'; } 应用模型 公共函数newUserAccounts { 返回$this->belongsT

我正在尝试在多对多上使用同步,包括状态和注释。我可以同步没有状态和评论的应用程序

NewUserAccount模型

公共功能应用 { 返回$this->belongsToMany'App\Application'、'new\u user\u account\u applications'、'new\u user\u id'->带pivot'Application\u comment'、'status'; } 应用模型

公共函数newUserAccounts { 返回$this->belongsToMany'App\NewUserAccount'、'new\u user\u accounts\u applications'、'new\u user\u id'->带pivot'application\u comment'、'status'; } 我的新用户帐户控制器

公共函数storerequest$request { $userAccount=NewUserAccount::createarray\u merge $request->all, ['submitted_by'=>$requester->id], ['start\u date'=>Carbon::解析$request->输入'start\u date'], ['account\u expires'=>$request->accountExpires'newAccountExpireDate'], ['company\u id'=>$requester->company\u id], ['username'=>$request->manuallyAssignId] ; //在这里,我同步应用程序并包括应用程序注释和状态 $userAccount->applications->sync$request->applications,['application\u comment'=>$request->application\u comment',status'=>0]; .... } 正确显示状态和注释的My pivot

我的表格。在这里,我不确定如何处理注释并将其与每个应用程序pivot记录一起保存

@foreach($applications as $application)
    <label class="k-checkbox">
        <input value="{{ $application->id }}" name="applications[]" type="checkbox">{{ $application->application_name }} <span></span> 
    </label>

    <div class="form-group col-lg-4 mb-3">
        <label>Comments</label>
            <textarea name="application_comment[]" class="form-control" rows="2"></textarea>
    </div>
@endforeach

首先,您需要为textarea中的application_comment属性设置正确的索引。需要正确确定每个应用程序的注释

@foreach($applications as $application)
    ...
    <textarea name="application_comment[{{ $application->id }}]" class="form-control" rows="2"></textarea>
    ...
@endforeach
所以,在这里

$applications=收集$request->applications->MapWithKeys函数$appId使用$request{ 返回[$appId=>[ “应用程序注释”=>$request->输入“应用程序注释”[$appId], “状态”=>0, ]]; }; $userAccount->applications->sync$applications;
首先,您需要为textarea中的application_comment属性设置正确的索引。需要正确确定每个应用程序的注释

@foreach($applications as $application)
    ...
    <textarea name="application_comment[{{ $application->id }}]" class="form-control" rows="2"></textarea>
    ...
@endforeach
所以,在这里

$applications=收集$request->applications->MapWithKeys函数$appId使用$request{ 返回[$appId=>[ “应用程序注释”=>$request->输入“应用程序注释”[$appId], “状态”=>0, ]]; }; $userAccount->applications->sync$applications;
我不知道问题是什么。你能问个清楚的问题吗?我需要在透视表中保存状态和注释。我只能用此代码保存状态。不确定如何保存评论。可能重复。我不确定问题是什么。你能问个清楚的问题吗?我需要在透视表中保存状态和注释。我只能用此代码保存状态。不知道如何保存评论。可能重复。太棒了!谢谢你!谢谢