为什么在使用模式编辑数据时更改所有ID?

时间:2018-10-26 06:55:32

标签: php jquery modal-dialog edit laravel-5.7

为什么在编辑一个数字时会调用所有id

控制器

public function update(Request $request, $id)
{
    $spent_time = SpentTime::find($id);
    $plan = $spent_time->plan;

    $total_spent_times = $plan->spent_times()->where('task_category', $spent_time->task_category)->sum('spent_time');
    $request['spent_time'] = (int)$total_spent_times + (int)$request->get('daily_spent_time');

    $total_percentage = $plan->spent_times()->where('task_category', $spent_time->task_category)->sum('percentage');
    $request['percentage'] = (int)$total_percentage + (int)$request->get('daily_percentage');
    $spent_time->update($request->all());

    return redirect()->route('real.index', compact('spent_time','plan','total_spent_time','total_percentage'));
}

index.blade.php

<td>
  <a href="" class="edit_real" data-toggle="modal" data-target="#edit_real-{{$spent_time->plan_id}}">
      {{$spent_time->plan->user_story}}  
  </a>
     @include('reals._form')
</td>

_form.blade.php

<div class="modal fade" id="edit_real-{{$spent_time->plan_id}}" role="dialog" >
<div class="modal-dialog modal-sm-8">
    <div class="modal-content">
        <div class="nav-tabs-custom">
            <ul class="nav nav-tabs pull-left">
                <li class=""><a href="{{url('plan')}}">Plan</a></li>
                <li class="active"><a href="{{url('real')}}">Real</a></li>
            </ul>

            <div class="tab-content">
                <div class="chart tab-pane active" id="revenue-chart">
                {!! Form::open([$spent_time, 'url' => route('real.update', $spent_time->id), 'method' => 'POST', 'role'=>'form']) !!}
                {{ csrf_field() }} {{ method_field('PUT') }}

                <div class="box-body">
                <div class="form-group">
                    {!! Form::label('user_story','Today Plan *', ['class' => 'control-label', 'name'=>'user_story']) !!}</label>
                    {!! Form::text('user_story', old('plan_id', is_null($spent_time->plan->user_story) ? null : $spent_time->plan->user_story), 
                    ['class'=>'form-control', 'readonly' => 'true']) !!}                   
                </div>

                <div class="form-group">
                    {!! Form::label('daily_spent_time','Spent Time *', ['class' => 'control-label', 'name'=>'daily_spent_time']) !!}</label>
                    {!! Form::text('daily_spent_time', old('daily_spent_time', $spent_time->daily_spent_time ?: null), 
                    ['class'=>'form-control', 'id'=>'daily_spent_time']) !!}                   
                </div>

                <div class="form-group">
                    {!! Form::label('daily_percentage','% Done *', ['class' => 'control-label', 'name' => 'daily_percentage']) !!}</label>
                    {!! Form::text('daily_percentage', old('daily_percentage', $spent_time->daily_percentage ?: null), 
                    ['class'=>'form-control', 'id'=>'daily_percentage']) !!}
                </div>

                <div class="form-group">
                    {!! Form::label('reason','Reason', ['class' => 'control-label', 'name'=>'reason']) !!}</label>
                    {!! Form::textarea('reason', old('reason', $spent_time->reason ?: null), ['class'=>'form-control', 'id'=>'reason']) !!}  
                </div>

                <div class="form-group">
                    {!! Form::submit('Save', ['class' => 'btn btn-block btn-primary btn-flat', 'type'=>'submit']) !!}
                </div>
            </div>
        </div>
    </div>
</div>
</div>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
 <script type="text/javascript">
// jQuery
$('.edit_real').on('click', function (event) {
    event.preventDefault();
    $('#edit_real').modal();
});

原始数据,在编号2中进行编辑时,数据将保存到编号1中。

enter image description here

为什么使用模式编辑数据时更改所有ID?

enter image description here

enter image description here

应该改进什么?必须在哪里纠正错误?为什么在编辑一个数字时会调用所有ID?

2 个答案:

答案 0 :(得分:0)

答案

  

在_form.blade.php中添加{!! Form::close() !!}

答案 1 :(得分:0)

控制器

    public function edit($id)
{
    $spent_times = SpentTime::all();
    $user_story = Plan::pluck('user_story', 'id');
    $spent_time = SpentTime::find($id);

    return view('reals.edit', compact('spent_times', 'user_story', 'spent_time'));
}

public function update(Request $request, $id)
{
    $spent_time = SpentTime::find($id);
    $spent_time->update($request->all());

    return redirect()->route('real.index', compact('spent_time'));
}