如何解决错误,我没有收到要求的票证ID

时间:2019-05-02 11:49:42

标签: php laravel modal-dialog

我正在开发票务系统,在该系统中,我试图实现要求更改票证状态的模式

这是查看代码

 <button style="color:#fff; background:#8c000d" data-toggle="modal" data-target="#status-modal2" class="btn btn-default login-button center"><a href="javascript:;" data-id="{{$ticket->id}}">Update Status</a></button>

这是模式代码

<div class="modal fade" id="status-modal2">
    <div class="modal-dialog">
        <div class="modal-content">
            {{Form::open(['url'=>['tickets', $ticket->id], 
                'class'=>'defaultForm','method' =>'post'])}}
                <div class="modal-header">
      <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title">Update Ticket Status</h4>
                </div>
                <div class="modal-body">
                <select>
                            <option value="closed" {{($ticket->status) == 'closed'? 'selected': ''}}>Closed</option>
                            <option value="job in process" {{($ticket->status) == 'job in process'? '': ''}}>Job In Process</option>
                            <option value="others" {{($ticket->status) == 'others'? '': ''}}>Others</option>
                        </select>

                    </div>
                </div>
                <div class="modal-footer">
                 <button type="button" class="basic-button red" data-dismiss="modal">Close</button>
                    <button type="submit" class="basic-button">Update</button>
                </div>
                {{Form::close()}}
            </div>

这是路线

Route::post('/tickets/{id}','TicketsController@updateTicketsHome');

我的预期输出是请求更新的票证应该更改

我尝试实现自己的身份,但是我得到第一个票证ID或最后一个证件ID,当用户单击单个票证时,它要求更改被单击的票证的状态

2 个答案:

答案 0 :(得分:1)

使用name()方法命名您的路线,

Route::post('/tickets/{id}','TicketsController@updateTicketsHome')->name('tickets.update');

这样,您可以按名称引用它。然后,您可以通过将表单更改为

来指定将表单发送至的路径,而不是将表单发送至url
{{ Form::open(['route' => ['tickets.update', $ticket->id], 
               'class' => 'defaultForm',
               'method' => 'post']) }}

答案 1 :(得分:0)

我将提出一个替代解决方案。 在web.php

中更改路线
 Route::post('/tickets/{id}','TicketsController@updateTicketsHome')->name('ticket.update');

在您的view

<form method="post" action="{{ route('ticket.update', ['id' => $ticket->id]) }}" >