首页 > 解决方案 > 我无法在 laravel 平台的数据库中记录

问题描述

我无法将记录保存在数据库中,请您帮帮我,当我只有选择题并填写空白问题类型时我错了,记录保存在数据库中,然后添加1-2个单词问题类型,此时,任何数据都不会保存在数据库中,请帮帮我

这是控制器代码

public function store(Request $request) {
    //
    $rules = [
    'quiz_id' => 'required',
    'question_type_id' => 'required',
    'question' => 'required|string|max:255',
    'answer' => 'required',
    'question_img' => 'image',
    ];
    
    $validator = Validator::make($request->all(),$rules);
    if($validator->fails()){
        return back()->with('warning','please Fill manadatory fields');
    } else {
        $addquestion = Questions::AddClass($request);
        if($addquestion)
            return redirect('/teachers/dashboard/allquestions')->with('success','Question Created Successfully!');
    }
}

这是型号代码

protected $primary = 'id';
protected $table = 'questions';
protected $fillable = ['quiz_id','question_type_id', 'question', 'a','b','c','d', 'answer',  
'status','created_at','updated_at','question_img','question_video_link'];

public static function AddClass($data) {
    $row = DB::table('questions')->insert([
    'quiz_id' => $data->quiz_id,
    'question_type_id'  => $data->question_type_id,
    'question' =>  $data->question,
    'a' =>  $data->a,
    'b' =>  $data->b,
    'c' =>  $data->c,
    'd' =>  $data->d,
    'answer'=> $data->answer,
    'status'  => 1,
    'created_at'  => date('Y-m-d H:i:s'),
    'updated_at'  => date('Y-m-d H:i:s'),
    'question_img'=> $data->question_img,
    'question_video_link' => $data->question_video_link,
    ]);
    return $row;
}

这是查看代码,在此代码中,我使用一个 jquery 函数来显示特定类型和选项

     @extends('layouts.teacherapp')

     @section('content')
     <style>
     .box{
     display:none;
     }
     </style>


            <!-- ============================================================== -->
            <!-- End Bread crumb and right sidebar toggle -->
            <!-- ============================================================== -->
            <!-- ============================================================== -->
            <!-- Start Page Content -->
            <!-- ============================================================== -->
            @if(Session::has('success'))
            <div class="alert alert-success"> <i class="ti-user"></i> {{ 
            Session::get('success') }}
            <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">&times;</span> </button>
                                    </div>
            @endif                      
            <!-- ============================================================== -->
            <!-- End Bread crumb and right sidebar toggle -->
            <!-- ============================================================== -->
            <!-- ============================================================== -->
            <!-- Start Page Content -->
            <!-- ============================================================== -->
             <div class="page-wrapper">
        <!-- ============================================================== -->
        <!-- Title and breadcrumb -->
        <!-- ============================================================== -->
        <div class="page-titles">
            <div class="d-flex align-items-center">
                <h5 class="font-medium m-b-0">Add Question</h5>
                <div class="custom-breadcrumb ml-auto">
                    <a href="#!" class="breadcrumb">Home</a>
                    <a href="#!" class="breadcrumb">Add Question</a>
                </div>
            </div>
        </div>
        <!-- ============================================================== -->
        <!-- Container fluid scss in scafholding.scss -->
        <!-- ============================================================== -->
        <div class="container-fluid">
            <!-- ============================================================== -->
            <!-- Sales Summery -->
            <!-- ============================================================== -->
            
           
           <div class="row">
                <form class="add-class" action="{{url('/teachers/dashboard/storequestion')}}" enctype="multipart/form-data" method="post">
                {{csrf_field()}}

       
<div class="row">
   <div class="input-field col s12">
        <select name="quiz_id">
            <option value="" disabled selected>Choose Quiz</option>
            @foreach($quiz as $qui)
            
                <option value="{{$qui->id}}">{{$qui->quizname}}</option> 
            
            @endforeach  
        </select>
        <label>Select Quiz</label>
    </div>
</div>
<div class="row">
   <div class="input-field col s12">
        <select name="question_type_id" id="select">
            <option value="" disabled selected>Choose Question Type</option>
            @foreach($question_type as $questy)
                <option value="{{$questy->id}}" >{{$questy->question_type_name}}</option> 
            @endforeach  
        </select>
        <label>Select Question Type</label>
    </div>
</div>
<div id="DivContent">
  <div id="1" class="div_content">
    <div class="row">
       <div class="input-field col s12">
        <input id="question" type="text" name="question">
        <label for="question">Question</label>
        @if ($errors->has('question'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('question') }}</strong>
                </small>
            @endif
       </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <input id="a" type="text" name="a">
        <label for="a">Option A</label>
        @if ($errors->has('a'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('a') }}</strong>
                </small>
            @endif
      </div>
    </div>

    <div class="row">
      <div class="input-field col s12">
        <input id="b" type="text" name="b">
        <label for="b">Option B</label>
        @if ($errors->has('b'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('b') }}</strong>
                </small>
            @endif
      </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <input id="c" type="text" name="c">
        <label for="c">Option C</label>
        @if ($errors->has('c'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('c') }}</strong>
                </small>
            @endif
       </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <input id="d" type="text" name="d">
        <label for="c">Option D</label>
        @if ($errors->has('d'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('d') }}</strong>
                </small>
            @endif
       </div>
     </div>
    <div class="row">
      <div class="input-field col s12">
        <textarea id="answer" name="answer" class="materialize-textarea"></textarea>
        <label for="answer">Answer</label>
      </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <button class="btn cyan waves-effect waves-light right" type="submit">Add Question
        </button>
      </div>
    </div>
  </div>
</div>
<!--fill in the blank part-->
<div id="2" class="div_content">
    <div class="row">
       <div class="input-field col s12">
        <input id="question" type="text" name="question">
        <label for="question">Question</label>
        @if ($errors->has('question'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('question') }}</strong>
                </small>
            @endif
       </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <input id="a" type="text" name="a">
        <label for="a">Option A</label>
        @if ($errors->has('a'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('a') }}</strong>
                </small>
            @endif
      </div>
    </div>

    <div class="row">
      <div class="input-field col s12">
        <input id="b" type="text" name="b">
        <label for="b">Option B</label>
        @if ($errors->has('b'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('b') }}</strong>
                </small>
            @endif
      </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <input id="c" type="text" name="c">
        <label for="c">Option C</label>
        @if ($errors->has('c'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('c') }}</strong>
                </small>
            @endif
       </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <input id="d" type="text" name="d">
        <label for="c">Option D</label>
        @if ($errors->has('d'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('d') }}</strong>
                </small>
            @endif
       </div>
     </div>
    <div class="row">
      <div class="input-field col s12">
        <textarea id="answer" name="answer" class="materialize-textarea"></textarea>
        <label for="answer">Answer</label>
      </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <button class="btn cyan waves-effect waves-light right" type="submit">Add Question
        </button>
      </div>
    </div>
  </div>
  <!--fill in the blank part-->
  <!--1-2 word Answer -->
  <div id="3" class="div_content">
    <div class="row">
       <div class="input-field col s12">
        <input id="question" type="text" name="question">
        <label for="question">Question</label>
        @if ($errors->has('question'))
                <small class="form-control-feedback">
                <strong>{{ $errors->first('question') }}</strong>
                </small>
            @endif
       </div>
    </div>
    
    <div class="row">
      <div class="input-field col s12">
        <textarea id="answer" name="answer" class="materialize-textarea"></textarea>
        <label for="answer">Answer</label>
      </div>
    </div>
    <div class="row">
      <div class="input-field col s12">
        <button class="btn cyan waves-effect waves-light right" type="submit">Add Question
        </button>
      </div>
    </div>
  </div>
  <!--1-2 word Answer -->
 <!--True or False-->
    
  <div id="4" class="div_content">
  <div class="row">
     <div class="input-field col s12">
      <input id="question" type="text" name="question">
      <label for="question">Question</label>
     @if ($errors->has('question'))
    <small class="form-control-feedback">
    <strong>{{ $errors->first('question') }}</strong>
    </small>
  @endif
     </div>
  </div>
  <div class="row">
    <div class="input-field col s12">
      <input id="a" type="text" name="a">
      <label for="a">True</label>
@if ($errors->has('a'))
    <small class="form-control-feedback">
    <strong>{{ $errors->first('a') }}</strong>
    </small>
  @endif
    </div>
  </div>

<div class="row">
    <div class="input-field col s12">
      <input id="b" type="text" name="b">
      <label for="b">False</label>
@if ($errors->has('b'))
    <small class="form-control-feedback">
    <strong>{{ $errors->first('b') }}</strong>
    </small>
  @endif
    </div>
  </div>

  
  <div class="row">
    <div class="input-field col s12">
  <textarea id="answer" name="answer" class="materialize-textarea"></textarea>
  <label for="answer">Answer</label>
</div>
</div>
<div class="row">
    <div class="input-field col s12">
      <button class="btn cyan waves-effect waves-light right" type="submit">Add Question
      </button>
    </div>
  </div>
</div>

<!--True or False-->
</div>
</div>
</form>
</div>
</div>

         <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
         <script>
         $(document).ready(function(){

            //hides dropdown content
             $(".div_content").hide();

            //unhides first option content
             $("#DivContent:first").show();

             //listen to dropdown for change
              $("#select").change(function(){
             //rehide content on change
              $('.div_content').hide();
             //unhides current item
              $('#'+$(this).val()).show();
               });

              });
             </script>    
            <!-- ============================================================== -->
            <!-- End PAge Content -->
            <!-- ============================================================== -->
                            
           @endsection

标签: laravel

解决方案


推荐阅读