无法在我的表中存储数据 这种情况有解决办法吗?

问题描述 投票:0回答:1

我无法在服务表上存储数据,但我仍会在同一页面上重定向

当我尝试 dd($input) 时,我收到输入,但是当我单击提交时,数据无法存储在我的服务数据库表中,并且我会被重定向到同一个 craete 页面上。

这是我在 ServiceController 上的存储方法:

public function store(Request $request)
        {
            $request->validate([
                'tittlea' => 'required',
                'descriptiona' => 'required',
                'imagea' => 'nullable|image',
                'tittleb' => 'required',
                'descriptionb' => 'required',
                'imageb' => 'nullable|image',
                'tittlec' => 'required',
                'descriptionc' => 'required',
                'imagec' => 'nullable|image',
                'tittled' => 'required',
                'descriptiond' => 'required',
                'imaged' => 'nullable|image',
            ]);

            $input = $request->all();

            // Gestion des images

            foreach (['imagea', 'imageb', 'imagec', 'imaged'] as $imageField) {
                if ($request->hasFile($imageField)) {
                    $image = $request->file($imageField);
                    $destinationPath = 'image/';
                    $imageName = uniqid() . '.' . $image->getClientOriginalName();
                    $image->move($destinationPath, $imageName);
                    $input[$imageField] = $imageName;
                } else {
                    unset($input[$imageField]);
                }
            }

            Service::create($input);

            return redirect('/admin/services')->with('message', 'Service added successfully');
        }`

这是我的 service.create.blade.php :

@extends('layouts.app')

@section('title', 'Data service')

@section('content')
    <div class="container">
        <a href="/admin/services" class="btn btn-primary mb-3">Services list</a>
        <div class="row">
            <div class="col-md-12">
                <form action="{{ route('services.store') }}" method="POST" enctype="multipart/form-data">
                    @csrf
                    <!-- Éléments pour le service A -->
                    <div class="form-group">
                        <label for="">Title A</label>
                        <input type="text" class="form-control" name="tittlea" placeholder="Title A">
                    </div>
                    @error('tittlea')
                    <small style="color: red">{{ $message }}</small>
                    @enderror
                    <div class="form-group">
                        <label for="">Description A</label>
                        <textarea name="descriptiona" id="" cols="30" rows="10" class="form-control" placeholder="Description A"></textarea>
                    </div>
                    @error('descriptiona')
                    <small style="color: red">{{ $message }}</small>
                    @enderror

                    <div class="form-group">
                        <label for="">File A</label>
                        <input type="file" class="form-control" name="imagea">
                    </div>
                    @error('imagea')
                    <small style="color: red">{{ $message }}</small>
                    @enderror

                    <!-- Répéter ces éléments pour les services B, C et D -->

                    <!-- Éléments pour le service B -->
                    <div class="form-group">
                        <label for="">Title B</label>
                        <input type="text" class="form-control" name="tittleb" placeholder="Title B">
                    </div>
                    @error('tittleb')
                    <small style="color: red">{{ $message }}</small>
                    @enderror
                    <div class="form-group">
                        <label for="">Description B</label>
                        <textarea name="descriptionb" id="" cols="30" rows="10" class="form-control" placeholder="Description B"></textarea>
                    </div>
                    @error('descriptionb')
                    <small style="color: red">{{ $message }}</small>
                    @enderror
                    <div class="form-group">
                        <label for="">File B</label>
                        <input type="file" class="form-control" name="imageb">
                    </div>
                    @error('imageb')
                    <small style="color: red">{{ $message }}</small>
                    @enderror

                    <!-- Éléments pour le service C -->
                    <div class="form-group">
                        <label for="">Title C</label>
                        <input type="text" class="form-control" name="tittlec" placeholder="Title C">
                    </div>
                    @error('tittlec')
                    <small style="color: red">{{ $message }}</small>
                    @enderror
                    <div class="form-group">
                        <label for="">Description C</label>
                        <textarea name="descriptionc" id="" cols="30" rows="10" class="form-control" placeholder="Description C"></textarea>
                    </div>
                    @error('descriptionc')
                    <small style="color: red">{{ $message }}</small>
                    @enderror
                    <div class="form-group">
                        <label for="">File C</label>
                        <input type="file" class="form-control" name="imagec">
                    </div>
                    @error('imagec')
                    <small style="color: red">{{ $message }}</small>
                    @enderror

                    <!-- Éléments pour le service D -->
                    <div class="form-group">
                        <label for="">Title D</label>
                        <input type="text" class="form-control" name="titled" placeholder="Title D">
                    </div>
                    @error('titled')
                    <small style="color: red">{{ $message }}</small>
                    @enderror
                    <div class="form-group">
                        <label for="">Description D</label>
                        <textarea name="descriptiond" id="" cols="30" rows="10" class="form-control" placeholder="Description D"></textarea>
                    </div>
                    @error('descriptiond')
                    <small style="color: red">{{ $message }}</small>
                    @enderror
                    <div class="form-group">
                        <label for="">File D</label>
                        <input type="file" class="form-control" name="imaged">
                    </div>
                    @error('imaged')
                    <small style="color: red">{{ $message }}</small>
                    @enderror

                    <!-- Bouton de soumission -->
                    <div class="form-group">
                        <button type="submit" class="btn btn-primary btn-block">Submit</button>
                    </div>
                </form>
            </div>
        </div>
    </div>
@endsection

我希望得到一些回应,因为我厌倦了解决这种情况。

php laravel laravel-10
1个回答
0
投票

如上所述,确保在模型

Service.php
中定义了
protected $fillable = [];
。您需要为每个可以批量填充的字段添加一个项目。添加后,表格应该保存,没有任何问题。

protected $fillable = [
    'titlea',
    'descriptiona',
    'imagea'
    ...
];
© www.soinside.com 2019 - 2024. All rights reserved.