繁体   English   中英

缺少 [Route] 所需的参数

[英]Missing required parameters for [Route]

我有这个问题:

Illuminate\\Routing\\Exceptions\\UrlGenerationException 缺少 [Route: admin.percent.edit] [URI: {locale}/admin/percent/edit/{id}] [缺少参数:id] 的必需参数。 (查看:C:\\Users\\kawed\\OneDrive\\Desktop\\flooss\\resources\\views\\admin\\includes\\top.blade.php)

index页代码:

@extends('admin.layouts.app')

@section('headSection')
    <!-- form Uploads -->
    <link href="{{ asset('back/assets/plugins/datatable/dataTables.bootstrap4.min.css') }}" rel="stylesheet" type="text/css" />
@endsection

@section('content')
<div class="page-header mt-0 shadow p-3">
    <ol class="breadcrumb mb-sm-0">
        <li class="breadcrumb-item">
            <a href="/dashboard">{{ __('val.home') }}</a>
        </li>
        <li class="breadcrumb-item active" aria-current="page">
            {{ __('val.dashboard_percent') }}
        </li>
    </ol>
    <a href="/{{ app()->getLocale() }}/admin/percent/create">
        <button type="button" class="btn btn-success btn-pill mt-1 mb-1">{{ __('val.create_percent') }}</button>
    </a>
</div>
<div class="row">
    <div class="col-md-12">
        <div class="card shadow">
            <div class="card-header">
                <h2 class="mb-0">Data Table</h2>
            </div>
            <div class="card-body">
                <div class="table-responsive">
                    <table id="example" class="table table-striped table-bordered w-100 text-nowrap">
                        <thead>
                            <tr>
                                <th class="wd-15p">id</th>
                                <th class="wd-15p">{{ __('session.percent') }}</th>
                                <th class="wd-20p">{{ __('session.edit') }}</th>
                                <th class="wd-15p">{{ __('session.delete') }}</th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach($percents as $item)
                                <tr>
                                    <td>
                                        {{ $item->id }}
                                    </td>
                                    <td>
                                        {{ $item->pname }}
                                    </td>
                                    <td>
                                        <a href="/{{ app()->getLocale() }}/admin/percent/edit/{{ $item->id }}" class="btn btn-primary btn-square">{{ __('session.edit') }}</a>
                                    </td>
                                    <td>
                                        <a href="/{{ app()->getLocale() }}/admin/percent/delete/{{ $item->id }}" class="btn btn-danger btn-square">{{ __('session.delete') }}</a>
                                    </td>
                                </tr>
                            @endforeach
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

@section('footerSection')
    <!-- file uploads js -->
    <script src="{{ asset('back/assets/plugins/datatable/jquery.dataTables.min.js') }}"></script>
    <script src="{{ asset('back/assets/plugins/datatable/dataTables.bootstrap4.min.js') }}"></script>


    <script>
        $(function(e) {
            $('#example').DataTable();

            var table = $('#example1').DataTable();
            $('button').click(function() {
                var data = table.$('input, select').serialize();
                alert(
                    "The following data would have been submitted to the server: \n\n" +
                    data.substr(0, 120) + '...'
                );

                return false;
            });
            
            $('#example2').DataTable({
                "scrollY": "200px",
                "scrollCollapse": true,
                "paging": false
            });
        });
    </script>
@endsection

修改后的页面代码:

@extends('admin.layouts.app')

@section('headSection')
    <!-- form Uploads -->
    <link href="{{ asset('back/assets/plugins/fileuploads/css/dropify.css') }}" rel="stylesheet" type="text/css" />
@endsection

@section('content')
<div class="page-header mt-0 shadow p-3">
    <ol class="breadcrumb mb-sm-0">
        <li class="breadcrumb-item">
            <a href="/dashboard">{{ __('val.home') }}</a>
        </li>
        <li class="breadcrumb-item active" aria-current="page">
            {{ __('val.dashboard_percent') }}
        </li>
    </ol>
</div>
<div class="row">
    <div class="col-md-12">
        <form action="{{ route('admin.percent.edit', ['id' => $category->id, 'locale' => app()->getLocale()]) }}" method ="post" enctype="multipart/form-data">
            {{ csrf_field() }}
            <div class="card shadow">
                <div class="card-header">
                    <h2 class="mb-0">{{ __('val.edit_percent') }}</h2>
                    @include('admin.includes.messages')
                </div>
                <div class="card-body">
                    <div class="row">
                        <div class="col-md-6">
                            <div class="form-group">
                                <input type="text" class="form-control" name="categoryarabicname" value="{{ $category->categoryarabicname }}">
                            </div>
                            <div class="form-group">
                                <input type="text" class="form-control" name="categoryengname" value="{{ $category->categoryengname }}">
                            </div>
                            <div class="form-group">
                                <textarea class="form-control"name="categoryarabicdesc" id="exampleFormControlTextarea1" rows="3">{{ $category->categoryarabicdesc }}</textarea>
                            </div>
                            <div class="form-group">
                                <textarea class="form-control"name="categoryengdesc" id="exampleFormControlTextarea1" rows="3">{{ $category->categoryengdesc }}</textarea>
                            </div>
                        </div>
                        <div class="col-md-6">
                           <div class="card shadow">
                                <div class="card-header">
                                    <h2 class="mb-0">Upload Image</h2>
                                </div>
                                <div class="card-body">
                                    <input type="file" name="catimage" class="dropify" data-height="300" />
                                </div>
                                <input type="hidden" name="image2" class="form-control" id="exampleInputEmail1">
                            </div>
                            <div class="card shadow overflow-hidden">
                                <img alt="Image placeholder" width=250px height=250px class="big" src="/uploads/{{ $category->categoryimage }}">
                            </div>
                        </div>
                        <div class="col-lg-9"></div>
                        <div class="col-lg-3">
                           <button type="submit" class="btn btn-success btn-square mt-1 mb-1">Update</button>
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </div>
</div>
@endsection

@section('footerSection')
    <!-- file uploads js -->
    <script src="{{ asset('back/assets/plugins/fileuploads/js/dropify.min.js') }}"></script>
    <script>
        $('.dropify').dropify({
            messages: {
                'default': 'Drag and drop a file here or click',
                'replace': 'Drag and drop or click to replace',
                'remove': 'Remove',
                'error': 'Ooops, something wrong appended.'
            },
            error: {
                'fileSize': 'The file size is too big (2M max).'
            }
        });
    </script>
@endsection

控制器代码:

namespace App\Http\Controllers;

use App\Http\Requests\PercentEditRequest;
use App\Http\Requests\PercentRequest;
use App\Models\Percent;
use Illuminate\Http\Request;

class PercentController extends Controller
{
    public function index()
    {
        $percents = Percent::orderBy('created_at', 'desc')->get();

        return view('admin.percent.index', compact('percents'));
    }

    public function create()
    {
        return view('admin.percent.create');
    }

    public function store(PercentRequest $request)
    {
        $validated = $request->validated();

        $category = new Percent();
        $category->pname = strip_tags($request->pname);
        $category->save();

        return redirect()->route('admin.percent', ['locale' => app()->getLocale()])
            ->with('success', trans('session.success'));
    }

    public function edit(Request $request, $id) {
        $id = $request->id;
        $locale = $request->locale;
        
        $category = Percent::find($id);

        return view('admin/percent/edit', compact('category'));
    }

    public function update(PercentEditRequest $request, $id) {
        $validated = $request->validated();

        $category = Percent::find($id);
        $category->categoryengname = strip_tags($request->categoryengname);
        $category->categoryarabicname = strip_tags($request->categoryarabicname);
        $category->categoryengdesc = strip_tags($request->categoryengdesc);
        $category->categoryarabicdesc = strip_tags($request->categoryarabicdesc);

        if (!empty($request->hasFile('catimage'))) {
            $imagePath = $request->file('catimage');
            $imageName = time() . '.' . $imagePath->getClientOriginalExtension();
            $imagePath->move('uploads', $imageName);

            $category->categoryimage= $imageName;
        }

        $category->save();

        return redirect('/admin/percent')->with('success', 'percent Updated Successfuly');
    }

    public function destroy($id)
    {
        $category = Percent::find($id);
        $category->delete();

        return redirect('/admin/percent')->with('success','percent Deleted Successfuly');
    }
}

你在 url 中有 2 个参数定义(locale & id)但在你的函数中只有一个 id 所以添加 locale 参数

public function edit(Request $request, $locale, $id) {

或从 url 中删除参数并从请求中使用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM