Отправка идентификатора записи в модал для обработки Laravel - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь создать способ оплаты по счету для проекта Laravel. Идея состоит в том, что когда пользователь нажимает на значок платежа рядом с каждой записью, платеж может быть записан для этой записи.

Я показываю модальный режим, в котором пользователь может ввести сумму платежа.

Однако проблема, с которой я сталкиваюсь, заключается в том, что, независимо от того, какую запись я выбираю, последний идентификатор записи - это идентификатор, который вводится в БД

Я создал HTML-представления, код обработки контроллера, который отлично работает, кроме неправильного идентификатора

Просмотр HTML - Таблица

<div class="card-body">
    <table class="table">
        <thead class="text-primary text-center">
            <th width="5%"></th>
            <th>Squadron Request No:</th>
            <th>Name</th>
            <th width="10%">Invoice Number</th>
            <th>Overview</th>
            <th width="10%">Total Amount</th>
            <th width="10%">Payments</th>
            <th width="10%">Balance</th>
            <th>Notes</th>
        </thead>
        @foreach($Srequest as $r)
        <tbody class="text-center">
            <td>
                <a href="" data-toggle="modal" data-target="#invoicepaymentModal" onclick="" class="btn btn-success btn-round"><i class="fa fa-dollar"></i></a>
            </td>
            <td>{{$r->id}}</td>
            <td>{{$r->memberrequest->last_name}}, {{$r->memberrequest->first_name}}</td>
            <td>{{$r->invoice_number}}</td>
            <td>{{$r->overview}}</td>
            <td>${{$r->invoice_total}}</td>
            <td>${{$r->requestpayment->sum('amount')}}</td>
            <td class="font-weight-bold">${{$r->invoice_total - $r->requestpayment->sum('amount')}}</td>
            <td>{{$r->notes}}</td>
        </tbody>
        @endforeach
    </table>

HTML-модал

<div class="modal fade" id="invoicepaymentModal" tabindex="-1" role="dialog" aria-labelledby="NewRollLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h3 class="modal-title" id="editmemberModal">Invoice Payment</h3>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                    <p type="hidden" value=($Srequest as $r)></p>
                </button>
            </div>
            {!!Form::open(array('action' => ['SquadronAccountingController@payment'], 'method'=>'POST', 'class'=>'form-horizontal'))!!}
            <div class="modal-body">
                <h4>Payment for Request: {{ $r->id}} </h4>
                <div class="form-group">
                    <input type="hidden" name="id" value="{{$r->id}}">
                    <input type="hidden" name="member_id" value="{{$r->member_id}}">
                    <label class="label-control">Payment Amount:</label>
                    <div class="input-group">
                        <input type="text" class="form-control" name="amount">
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary btn-round" data-dismiss="modal">Close</button>
                <button type="submit" class="btn btn-primary btn-round">Save Changes</button>
            </div>
            {{!!Form::close()!!}}
        </div>
    </div>
</div>

Контроллер

public function requested()
{
    $Srequest = Srequest::where('complete', '=', 'N')->get();
    $members  = Member::where('active', '!=', 'N')->where('member_type', '=', 'League')->get();
    return view('accounting.requestview', compact('Srequest', 'members'));
}
public function payment(Request $request)
{
    $rollid        = Rollmapping::latest()->value('id');
    $e             = new Requestpayment();
    $e->request_id = $request->get('id');
    $e->roll_id    = $rollid;
    $e->amount     = $request->get('amount');
    $e->save();
    Alert::Success('Payement Recored')->autoclose(2000);
    return redirect(action('SquadronAccountingController@requested'));
}

Таблица - Платежи

|ID|Request_ID|Amount|

Таблица - Запросы

|ID|Member_ID|Invoice_Number|Invoice_amount|Overview|Completed|Notes|

Я хочу передать идентификатор записи в таблице в модал, чтобы в БД записывался правильный идентификатор. Идентификатор из таблицы запросов должен сделать Request_ID

...