Слишком мало аргументов для функции App \ Http \ Controllers \ TransactionsController :: store (), 1 передано и ожидается ровно 2 - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть ошибка, которая говорит: слишком мало аргументов для функции App \ Http \ Controllers \ TransactionsController :: store (), 1 пройдено и ровно 2 ожидается в TransactionsController :: store, когда я пытаюсь создать транзакции и обновить Учетная запись пользователя в OperationsController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use App\Http\Requests\TransactionsRequest;
use App\Traits\MakeTransactions;
use App\User;
use App\Transaction;
use DB;

class TransactionsController extends Controller
{
    use MakeTransactions;

    public function create()
    {
        $accno = auth()->user()->accno;

        $account = DB::table('users')
            ->join('accounts', 'users.accno', '=', 'accounts.accno')
            ->select('users.*', 'accounts.*')
            ->get();

        return view('dashboard.user.make_a_transfer.create', compact('account'));
    }

    public function store(TransactionsRequest $requestFields,$id)
    {   
        $transactions = $this->Transfer($requestFields);

        $account = Account::find($id);

        $bal = $account->amt_paid + $transctions->amt;
        $account->total = $bal;
        $account->save(); 

        return redirect('/make_transfer')->with('success', 'Transaction has been made');
    }

    public function saveTransaction($data)
    {   

        return true;

    }
}

моя сеть маршрутов, php

Route::get('/make_transfer', 'TransactionsController@create')->name('make_transfer');
Route::post('/create/make_transfer',['as'=>'transactions.store','uses'=>'TransactionsController@store']);
    Route::get('/account_details', 'TransferController@details')->name('account_details');

Я использую файл create.blade. php;

@extends('../../../layouts/dashboard')
@section('content')
<div class="page-wrapper">
            <div class="page-breadcrumb">
                <div class="row">
                    <div class="col-12 d-flex no-block align-items-center">
                        <h4 class="page-title"></h4>
                        <div class="ml-auto text-right">
                            <nav aria-label="breadcrumb">
                                <ol class="breadcrumb">
                                    <li class="breadcrumb-item"><a href="#">Home</a></li>
                                    <li class="breadcrumb-item active" aria-current="page">Make Transfer</li>
                                </ol>
                            </nav>
                        </div>
                    </div>
                </div>
            </div>
            <div class="container-fluid">
                <div class="card">
                    <div class="card-body wizard-content">
                        <h4 class="card-title">Make Bank Transfers</h4>
                        <h6 class="card-subtitle"></h6>

                        @if ($errors->any())
                        <div class="alert alert-danger">
                            <ul>
                                @foreach ($errors->all() as $error)
                                <li>{{ $error }}</li>
                                @endforeach
                            </ul>
                        </div>
                        <br /> 
                        @endif
                        <form id="example-form" action="/create/make_transfer/{id}" method="POST" class="m-t-40">
                            <div>
                            @csrf
                            <div class="form-group">    
                                <label for="reciever_name">Reciever Name:</label>
                                <input type="text" class="form-control" name="reciever_name" value="" />
                            </div>
                            <div class="form-group">    
                                <label for="reciever_bank">Reciever Bank:</label>
                                <input type="text" class="form-control" name="reciever_bank" value="" />
                            </div>
                            <div class="form-group">    
                                <label for="reciever_accno">Reciever Account Number:</label>
                                <input type="text" class="form-control" name="reciever_accno" value="" />
                            </div>
                            <div class="form-group">    
                                <label for="routing_no">Routing Number:</label>
                                <input type="text" class="form-control" name="routing_no" value="" />
                            </div>
                            <div class="form-group">    
                                <label for="amt">Amount:</label>
                                <input type="text" class="form-control" name="amt" value="" />
                            </div>
                            <div class="form-group">    
                                <label for="fund_option">Fund Options:</label>
                                <select name="fund_option">
                                    <option value="">Select Option</option>
                                    <option value="Domestic">Domestic Transfer</option>
                                    <option value="Local">Local Transfer</option>
                                    <option value="Offshore">International Transfer</option>
                                </select>
                            </div>
                            <div class="form-group">    
                                <label for="description">Description:</label>
                                <textarea class="form-control" name="description" value=""></textarea>
                            </div>
                                <button type="submit">Make Transfer</button>
                                <section>
                                    <input id="acceptTerms" name="acceptTerms" type="checkbox" class="required">
                                    <label for="acceptTerms">I agree with the Terms and Conditions.</label>
                                </section>
                            </div>
                        </form>
                    </div>
                </div>
            </div>

Мне нужна помощь в обновлении таблицы счетов с использованием $ id после того, как пользователь сделает запрос на перевод.

1 Ответ

2 голосов
/ 18 апреля 2020

public function store(TransactionsRequest $requestFields,$id)

Итак, ваша функция ожидает два аргумента, один из которых - $requestFields, и ваша функция, несомненно, получает, но где $id. Вы не передаете $ id функции,

, почему я говорю это, потому что, когда я проверял ваш маршрут, вы не передаете ни один параметр с именем id.

Route::post('/create/make_transfer',['as'=>'transactions.store','uses'=>'TransactionsController@store']);

Поэтому я предлагаю вам проверить, создали ли вы свою программу для ожидаемого параметра или просто использовали ее из запроса формы.

Возможно, ваш маршрут должен быть таким, как показано ниже

Route::post('/create/make_transfer/{id}',['as'=>'transactions.store','uses'=>'TransactionsController@store']);

Теперь, когда вы звоните по этому маршруту, вы должны называть его, как показано ниже

route('transactions.store',['id'=>$yourID])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...