Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 函数App\Http\Controllers\transactionController::store()的参数太少,传递了1个,预期正好是2个_Php_Laravel - Fatal编程技术网

Php 函数App\Http\Controllers\transactionController::store()的参数太少,传递了1个,预期正好是2个

Php 函数App\Http\Controllers\transactionController::store()的参数太少,传递了1个,预期正好是2个,php,laravel,Php,Laravel,我遇到一个错误,该错误表示:函数App\Http\Controllers\transactioncontroller::store()的参数太少,当我尝试在TransactionController中创建事务并更新用户帐户时,传递了1个参数,而TransactionController::store中正好需要2个参数 <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Sup

我遇到一个错误,该错误表示:函数App\Http\Controllers\transactioncontroller::store()的参数太少,当我尝试在TransactionController中创建事务并更新用户帐户时,传递了1个参数,而TransactionController::store中正好需要2个参数

<?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;

    }
}

我使用的是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>
@extends(“../../../layouts/dashboard”)
@节(“内容”)
  • 进行转移
  • 银行转账 @如果($errors->any())
      @foreach($errors->all()作为$error)
    • {{$error}}
    • @endforeach

    @恩迪夫 @csrf 收信人姓名: 收款银行: 收款人账号: 路由号码: 数量: 基金选择: 选择选项 国内转让 本地转移 国际转让 说明: 转帐 我同意这些条款和条件。

    在用户发出转账请求后,我需要使用$id更新帐户表的帮助。

    公共功能存储(TransactionRequest$requestFields,$id)

    因此,您的函数需要两个参数,一个是
    $requestFields
    ,这无疑是您的函数,但
    $id
    在哪里。您没有将$id传递给函数

    为什么我这么说是因为当我检查您的路由时,您没有传递任何名为id的参数

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

    因此,我建议您检查是为expect参数构建程序,还是仅从表单请求中使用它

    也许你的路线应该如下所示

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

    现在,当你呼叫这条路线时,你必须像下面那样呼叫它


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

    请发布您的路线。当您提出问题时,请给出完整的代码。这将有助于回答这个问题。感谢您向
    dump()
    提供
    $account
    $transactions
    的值。请向我解释如何使用
    dump()
    我尝试使用dump($account)dump($transactions);像这样
    公共函数存储(TransactionRequest$requestFields,$id){$transactions=$this->Transfer($requestFields);$account=account::find($id);$bal=$account->amt\u paid+$transactions->amt;$account->total=$bal;$account->save();dump($account);dump($transactions);//返回重定向('/make_transfer')->带('success','Transaction has'make');}
    只需像
    dump($account);
    dump($transactions);
    一样使用,并对值进行注释。请问如何调用路由
    路由('transactions.store',['id'=>$yourID])
    ,我正在尝试使用
    $account=account::find($id);
    从何处获取此$idI更新了问题,显示了我的create.blade.php文件,其中$id是从/create/make_transfer/{id}传递的。id是当前登录的用户id?然后从函数中删除$if,并像Auth::id()一样使用它;不要忘记在控制器顶部使用
    照明\Support\Facades\Auth;
    @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>