Импортировать тему предыдущего года, если установлен флажок

#javascript #php #mysql #laravel

#javascript #php #mysql #laravel

Вопрос:

 This is my php blade file

<form method="post" name="AddBatch" action="/submitBatchForm" enctype="multipart/form-data">
{{ csrf_field() }}
<fieldset><legend>Add New Section</legend>
<label for="field6"><span>Name</span>
<input type="text" class="input-field" name="name" value="{{old('name')}}"  required="" />
</label>
<label for="field6"><span>Start date</span>
<input type="text"  id ="start-section-id" class="input-field" name="start_date" value="{{old('start_date')}}"  required="" style="margin-left:4%;"/>
</label>

<label for="field6"><span>End date</span>
<input type="text"  id ="end-section-id" class="input-field" name="end_date" value="{{old('end_date')}}"  required="" style="margin-left:4%;"/>
</label>
<input type="hidden" name="course_id" value="{{$course->id}}">
<input type="checkbox" name="chk" id="chk"> Import Subject of Previos Year</input>
<label><span>amp;nbsp;</span><input type="submit" class="btn btn-info" value="Add"/></label>
</fieldset>
</form>
 

Это мой файл контроллера

 public function submitBatchForm(Request $request)
    {
        $current_course_id = $request->get("course_id");
        $pre_batch = DB::table('batches')->where('course_id',$current_course_id)->where('is_deleted',0)->first();
        $previous_batch_sub = DB::table('subjects')->where('batch_id',$pre_batch->id)->get();
        
        $result = $this->batchService->createBatch($request->input());
        
        foreach($previous_batch_sub as $subj){
            $model = new Subject();
            $model->name = $subj->name;
            $model->batch_id = $result->id;
            $model->max_weekly_classes = $subj->max_weekly_classes;
            $model->code = $subj->code;
            $model->save();
        }
        
        if ($result == false) {
            return Redirect::back()->withErrors(['Something Wrong Please Contact Support Team!!'])->withInput();
        }
        
        $request->session()->flash('message', 'Batch Added Successfully in the class!');
        $id = $request->get("course_id");
        return redirect('/getAllBatch/' . $id . '/listBatch');
    }
 

Когда я устанавливаю флажок, тема предыдущего года присваивается вновь созданному пакету, в противном случае создается только пакет без добавления в него тем предыдущего года.

Комментарии:

1. Не вижу, где вы пытаетесь проверить, был ли флажок установлен или нет. if($request->chk){ //do processing to import previous year subject} . Также неясно, с какой именно проблемой вы столкнулись

2. выполните if($request->chk){ //do processing to import previous year subject} и добавьте значение к вводу флажка. <input type="checkbox" name="chk" id="chk" value="1"> Import Subject of Previos Year</input>

3. выполните if($request-> chk){ //выполнить обработку для импорта темы предыдущего года} и добавьте значение к вводу флажка. <тип ввода =»флажок» имя =»chk» идентификатор =»chk» значение =»1″> Тема импорта предыдущего года </ input> должен ли я получать значение флажка??

4. Я не сохраняю значение флажка в базе данных, так что каким будет мое условие.

5. Когда я устанавливаю флажок, тема предыдущего года присваивается вновь созданному пакету, в противном случае создается только пакет без добавления в него тем предыдущего года.