Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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 使用laravel存储数据_Php_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Php 使用laravel存储数据

Php 使用laravel存储数据,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我是laravel的新手,我在使用laravel在数据库中添加数据时遇到问题,我只得到表单中的验证响应,但在提交数据后,我没有得到任何响应,只是页面刷新。视图中不显示任何消息 有人来帮我吗? 这是验证的man类别请求 <?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class MaincategoryRequest extends FormRequest { /**

我是laravel的新手,我在使用laravel在数据库中添加数据时遇到问题,我只得到表单中的验证响应,但在提交数据后,我没有得到任何响应,只是页面刷新。视图中不显示任何消息
有人来帮我吗? 这是验证的man类别请求

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class MaincategoryRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'id'         => 'integer|required',
            'name'       => 'min:2|required|max:50|unique:category_translations',
            'slug'       => 'required|unique:categories,slug,'.$this->id,
            'url'        => 'required|url',
            'status'     => 'integer'

        ];
    }
    // validation messages
    public function messages()
    {
        return [
            'id.required'=>trans('dashboard\validate.required'),
            'id.integer'=>trans('dashboard\validate.integer'),
            'id.exists'=>trans('dashboard\validate.exists'),
            'name.required'=>trans('dashboard\validate.required'),
            'name.min'=>trans('dashboard\validate.min'),
            'name.max'=>trans('dashboard\validate.max'),
            'name.unique'=>trans('dashboard\validate.unique'),
            'slug.required'=>trans('dashboard\validate.required'),
            'slug.min'=>trans('dashboard\validate.min'),
            'slug.max'=>trans('dashboard\validate.max'),
            'slug.unique'=>trans('dashboard\validate.unique'),
            'url.active_url'=>trans('dashboard\validate.url'),
            'url.required'=>trans('dashboard\validate.required'),
            'status.integer'=>trans('dashboard\validate.integer'),

        ];
    }
}
这是我的详细控制器

Route::get('create','MainCategoriesController@create') -> name('maincategories.create');
Route::post('store','MainCategoriesController@store') -> name('maincategories.store');
public function store(MaincategoryRequest  $request )
{
    try{
        DB::beginTransaction();
        // prepare data
        $validatedData = array(
            'name'            =>$request->name,
            'url'             =>$request->url,
            'slug'            =>$request->slug,
            'last_updated_by' =>auth('admin')->user()->id,
            'created_by'      =>auth('admin')->user()->id,
            'created'         =>time(),
        );

    //check if status is sent
    $request->has('status') ? $validatedData['status'] = 1: $validatedData['status'] = 2;
    // check if category is exist
    $add = Category::create($validatedData);
        if (!$add){
            return redirect()->route('maincategories.create')->with(['error'=> trans('dashboard\messages.addfailed')]);
        }
        // start add translated data
        $add->name=$request->name;
        $add->save();
        return redirect()->back()->with('success',trans('dashboard\messages.save'));
        DB::commit();
}catch (\Exception $ex){
    return redirect()->back()->with('error',trans('dashboard\messages.addfailed'));
    DB::rollBack();
}
@extends('layouts.admin')
@section("title",trans('dashboard\category.title-add'))
@section('content')
    <div class="app-content content">
        <div class="content-wrapper">
            <div class="content-header row">
                <div class="content-header-left col-md-6 col-12 mb-2">
                    <div class="row breadcrumbs-top">
                        <div class="breadcrumb-wrapper col-12">
                            <ol class="breadcrumb">
                                <li class="breadcrumb-item"><a href=""> {{trans('dashboard\messages.home')}} </a>
                                </li>

                                <li class="breadcrumb-item active">{{trans('dashboard\category.title-add')}}
                                </li>
                            </ol>
                        </div>
                    </div>
                </div>
            </div>
            <div class="content-body">
                <!-- Basic form layout section start -->
                <section id="basic-form-layouts">
                    <div class="row match-height">
                        <div class="col-md-12">
                            <div class="card">
                                <div class="card-header">
                                    <h4 class="card-title" id="basic-layout-form"> {{trans('dashboard\category.title-add')}} </h4>
                                    <a class="heading-elements-toggle"><i
                                                class="la la-ellipsis-v font-medium-3"></i></a>
                                    <div class="heading-elements">
                                        <ul class="list-inline mb-0">
                                            <li><a data-action="collapse"><i class="ft-minus"></i></a></li>
                                            <li><a data-action="reload"><i class="ft-rotate-cw"></i></a></li>
                                            <li><a data-action="expand"><i class="ft-maximize"></i></a></li>
                                            <li><a data-action="close"><i class="ft-x"></i></a></li>
                                        </ul>
                                    </div>
                                </div>
                                @include('dashboard.includes.alerts.success')
                                @include('dashboard.includes.alerts.errors')
                                <div class="card-content collapse show">
                                    <div class="card-body">
                                        <form class="form"
                                              action="{{route('maincategories.store')}}"
                                              method="post"
                                              enctype="multipart/form-data">
                                            @csrf

                                            <div class="form-body">
                                                <div class="row">
                                                    <div class="col-md-6">
                                                        <div class="form-group">
                                                            <label for="projectinput1"> {{trans('dashboard\category.name')}} </label>
                                                            <input type="text" value="{{old('name')}}"
                                                                   id="name"
                                                                   class="form-control"
                                                                   placeholder="  "
                                                                   name="name">
                                                            @error("name")
                                                            <span class="text-danger">{{$message}}</span>
                                                            @enderror
                                                        </div>
                                                    </div>

                                                   <div class="col-md-6">
                                                        <div class="form-group">
                                                            <label for="projectinput1"> {{trans('dashboard\category.slug')}} </label>
                                                            <input type="text"
                                                                   value="{{old('slug')}}"
                                                                   id="email"
                                                                   class="form-control"
                                                                   placeholder="  "
                                                                   name="slug">
                                                            @error("slug")
                                                            <span class="text-danger">{{$message}}</span>
                                                            @enderror
                                                        </div>
                                                    </div>
                                             <div class="col-md-12">
                                                        <div class="form-group">
                                                            <label for="projectinput1"> {{trans('dashboard\category.url')}} </label>
                                                            <input type="text"
                                                                   value="{{old('url')}}"
                                                                   id="plain_value"
                                                                   class="form-control"
                                                                   placeholder="  "
                                                                   name="url">
                                                            @error("url")
                                                            <span class="text-danger">{{$message}}</span>
                                                            @enderror
                                                        </div>
                                                    </div>


                                                </div>
                                            </div>
                                            <div class="col-md-12">
                                                <div class="form-group">
                                                    <label> {{trans('dashboard\category.image')}} </label>
                                                    <label id="projectinput7" class="file center-block">
                                                        <input type="file" id="file" name="image">
                                                        <span class="file-custom"></span>
                                                    </label>
                                                    @error('image')
                                                    <span class="text-danger">{{$message}}</span>
                                                    @enderror
                                                </div>
                                            </div>

                                            <div class="row">
                                                <div class="col-md-6">
                                                    <div class="form-group mt-1">
                                                        <input type="checkbox" value="1"
                                                               name="status"
                                                               id="switcheryColor4"
                                                               class="switchery" data-color="success"
                                                              checked />
                                                        <label for="switcheryColor4"
                                                               class="card-title ml-1">{{trans('dashboard\messages.status')}} </label>

                                                        @error("status")
                                                        <span class="text-danger"> </span>
                                                        @enderror
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="form-actions">
                                                <button type="button" class="btn btn-warning mr-1"
                                                        onclick="history.back();">
                                                    <i class="ft-x"></i> {{trans('dashboard\messages.back')}}
                                                </button>
                                                <button type="submit" class="btn btn-primary">
                                                    <i class="la la-check-square-o"></i> {{trans('dashboard\messages.save')}}
                                                </button>
                                            </div>
                                        </form>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>
                <!-- // Basic form layout section end -->
            </div>
        </div>
    </div>

@stop
@section('script')
    <script >
        $(document).ready(function() {
            //start update password
            $("#EditPassword").submit(function(){
                var formData = $(this).serialize();
                var allData  = formData + "&action=editPass";
                $('#repassword_error').text('');
                $('#password_error').text('');
                $.ajax({
                    url: "{{url("admin/category/update_password/{id}")}}",
                    type:"PUT",
                    data: allData, // Data sent to server, a set of key/value pairs (i.e. form fields and values)
                    beforeSend:function(){
                        //alert(allData)
                    },
                    statusCode: {
                        404: function() {
                            alert( "page not found" );
                        },
                    },
                    success:function(valdata) {
                        //alert(valdata);
                        //alert("")
                        if(valdata.status == "success")
                        {
                            $("#updatePasswordResult").html(valdata.message);
                            setTimeout(function(){$('#changepassword').modal('hide');}, 2000);
                        }else{
                            $("#updatePasswordResult").html(valdata.message);
                        }
                    },
                    error: function (reject) {
                        var response = $.parseJSON(reject.responseText);
                        $.each(response.errors, function (key, val) {
                            $("#" + key + "_error").text(val[0]);
                        });
                    }

                });
                return false;
            });

        });
    </script>

@stop
}

这是我的详细看法

Route::get('create','MainCategoriesController@create') -> name('maincategories.create');
Route::post('store','MainCategoriesController@store') -> name('maincategories.store');
public function store(MaincategoryRequest  $request )
{
    try{
        DB::beginTransaction();
        // prepare data
        $validatedData = array(
            'name'            =>$request->name,
            'url'             =>$request->url,
            'slug'            =>$request->slug,
            'last_updated_by' =>auth('admin')->user()->id,
            'created_by'      =>auth('admin')->user()->id,
            'created'         =>time(),
        );

    //check if status is sent
    $request->has('status') ? $validatedData['status'] = 1: $validatedData['status'] = 2;
    // check if category is exist
    $add = Category::create($validatedData);
        if (!$add){
            return redirect()->route('maincategories.create')->with(['error'=> trans('dashboard\messages.addfailed')]);
        }
        // start add translated data
        $add->name=$request->name;
        $add->save();
        return redirect()->back()->with('success',trans('dashboard\messages.save'));
        DB::commit();
}catch (\Exception $ex){
    return redirect()->back()->with('error',trans('dashboard\messages.addfailed'));
    DB::rollBack();
}
@extends('layouts.admin')
@section("title",trans('dashboard\category.title-add'))
@section('content')
    <div class="app-content content">
        <div class="content-wrapper">
            <div class="content-header row">
                <div class="content-header-left col-md-6 col-12 mb-2">
                    <div class="row breadcrumbs-top">
                        <div class="breadcrumb-wrapper col-12">
                            <ol class="breadcrumb">
                                <li class="breadcrumb-item"><a href=""> {{trans('dashboard\messages.home')}} </a>
                                </li>

                                <li class="breadcrumb-item active">{{trans('dashboard\category.title-add')}}
                                </li>
                            </ol>
                        </div>
                    </div>
                </div>
            </div>
            <div class="content-body">
                <!-- Basic form layout section start -->
                <section id="basic-form-layouts">
                    <div class="row match-height">
                        <div class="col-md-12">
                            <div class="card">
                                <div class="card-header">
                                    <h4 class="card-title" id="basic-layout-form"> {{trans('dashboard\category.title-add')}} </h4>
                                    <a class="heading-elements-toggle"><i
                                                class="la la-ellipsis-v font-medium-3"></i></a>
                                    <div class="heading-elements">
                                        <ul class="list-inline mb-0">
                                            <li><a data-action="collapse"><i class="ft-minus"></i></a></li>
                                            <li><a data-action="reload"><i class="ft-rotate-cw"></i></a></li>
                                            <li><a data-action="expand"><i class="ft-maximize"></i></a></li>
                                            <li><a data-action="close"><i class="ft-x"></i></a></li>
                                        </ul>
                                    </div>
                                </div>
                                @include('dashboard.includes.alerts.success')
                                @include('dashboard.includes.alerts.errors')
                                <div class="card-content collapse show">
                                    <div class="card-body">
                                        <form class="form"
                                              action="{{route('maincategories.store')}}"
                                              method="post"
                                              enctype="multipart/form-data">
                                            @csrf

                                            <div class="form-body">
                                                <div class="row">
                                                    <div class="col-md-6">
                                                        <div class="form-group">
                                                            <label for="projectinput1"> {{trans('dashboard\category.name')}} </label>
                                                            <input type="text" value="{{old('name')}}"
                                                                   id="name"
                                                                   class="form-control"
                                                                   placeholder="  "
                                                                   name="name">
                                                            @error("name")
                                                            <span class="text-danger">{{$message}}</span>
                                                            @enderror
                                                        </div>
                                                    </div>

                                                   <div class="col-md-6">
                                                        <div class="form-group">
                                                            <label for="projectinput1"> {{trans('dashboard\category.slug')}} </label>
                                                            <input type="text"
                                                                   value="{{old('slug')}}"
                                                                   id="email"
                                                                   class="form-control"
                                                                   placeholder="  "
                                                                   name="slug">
                                                            @error("slug")
                                                            <span class="text-danger">{{$message}}</span>
                                                            @enderror
                                                        </div>
                                                    </div>
                                             <div class="col-md-12">
                                                        <div class="form-group">
                                                            <label for="projectinput1"> {{trans('dashboard\category.url')}} </label>
                                                            <input type="text"
                                                                   value="{{old('url')}}"
                                                                   id="plain_value"
                                                                   class="form-control"
                                                                   placeholder="  "
                                                                   name="url">
                                                            @error("url")
                                                            <span class="text-danger">{{$message}}</span>
                                                            @enderror
                                                        </div>
                                                    </div>


                                                </div>
                                            </div>
                                            <div class="col-md-12">
                                                <div class="form-group">
                                                    <label> {{trans('dashboard\category.image')}} </label>
                                                    <label id="projectinput7" class="file center-block">
                                                        <input type="file" id="file" name="image">
                                                        <span class="file-custom"></span>
                                                    </label>
                                                    @error('image')
                                                    <span class="text-danger">{{$message}}</span>
                                                    @enderror
                                                </div>
                                            </div>

                                            <div class="row">
                                                <div class="col-md-6">
                                                    <div class="form-group mt-1">
                                                        <input type="checkbox" value="1"
                                                               name="status"
                                                               id="switcheryColor4"
                                                               class="switchery" data-color="success"
                                                              checked />
                                                        <label for="switcheryColor4"
                                                               class="card-title ml-1">{{trans('dashboard\messages.status')}} </label>

                                                        @error("status")
                                                        <span class="text-danger"> </span>
                                                        @enderror
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="form-actions">
                                                <button type="button" class="btn btn-warning mr-1"
                                                        onclick="history.back();">
                                                    <i class="ft-x"></i> {{trans('dashboard\messages.back')}}
                                                </button>
                                                <button type="submit" class="btn btn-primary">
                                                    <i class="la la-check-square-o"></i> {{trans('dashboard\messages.save')}}
                                                </button>
                                            </div>
                                        </form>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>
                <!-- // Basic form layout section end -->
            </div>
        </div>
    </div>

@stop
@section('script')
    <script >
        $(document).ready(function() {
            //start update password
            $("#EditPassword").submit(function(){
                var formData = $(this).serialize();
                var allData  = formData + "&action=editPass";
                $('#repassword_error').text('');
                $('#password_error').text('');
                $.ajax({
                    url: "{{url("admin/category/update_password/{id}")}}",
                    type:"PUT",
                    data: allData, // Data sent to server, a set of key/value pairs (i.e. form fields and values)
                    beforeSend:function(){
                        //alert(allData)
                    },
                    statusCode: {
                        404: function() {
                            alert( "page not found" );
                        },
                    },
                    success:function(valdata) {
                        //alert(valdata);
                        //alert("")
                        if(valdata.status == "success")
                        {
                            $("#updatePasswordResult").html(valdata.message);
                            setTimeout(function(){$('#changepassword').modal('hide');}, 2000);
                        }else{
                            $("#updatePasswordResult").html(valdata.message);
                        }
                    },
                    error: function (reject) {
                        var response = $.parseJSON(reject.responseText);
                        $.each(response.errors, function (key, val) {
                            $("#" + key + "_error").text(val[0]);
                        });
                    }

                });
                return false;
            });

        });
    </script>

@stop
@extends('layouts.admin'))
@节(“标题”,trans('dashboard\category.title add'))
@节(“内容”)
  • {{trans('dashboard\category.title add')}
  • {{trans('dashboard\category.title add')}
    @include('dashboard.includes.alerts.success') @include('dashboard.includes.alerts.errors') @csrf {{trans('dashboard\category.name')} @错误(“名称”) {{$message}} @恩德罗 {{trans('dashboard\category.slug')} @错误(“slug”) {{$message}} @恩德罗 {{trans('dashboard\category.url')} @错误(“url”) {{$message}} @恩德罗 {{trans('dashboard\category.image')} @错误('图像') {{$message}} @恩德罗 {{trans('dashboard\messages.status')} @错误(“状态”) @恩德罗 {{trans('dashboard\messages.back')} {{trans('dashboard\messages.save')}