сделать определенное создание между формой и полем в базе данных в laravel - PullRequest
0 голосов
/ 03 октября 2018

хочу производить данные исключительно для некоторого поля в базе данных, поэтому я добавляю их в моё представление create.но есть ошибка cannot be null.даже если поле обнуляется.

это мой взгляд form.blade.php

<form action="" method="POST">
  @csrf
  <div class="box-body">
    <div class="form-group">
      <label for="">Project *</label>        
        <select class="form-control select2" style="width: 100%;" name="project_id">
            <option>Select One</option>
            @foreach($projects as $id => $project)
              <option value="{{$id}}">{{$project}}</option>
            @endforeach
        </select>
    </div>
    <div class="form-group">
      <label for="">Story # Meeting Name *</label>
      <input type="text" class="form-control" name="user_story">
    </div>
    <div class="form-group">
        <label for="">Category *</label>
        <select class="form-control select2" style="width: 100%;" name="task_category">
            <option>Select One</option>
            @foreach($task_categories as $task_category)
              <option value="{{$task_category->task_category}}">{{$task_category->task_category}}</option>
            @endforeach
        </select>
    </div>
    <div class="form-group">
      <label for="">Estimated *</label>                  
      <input type="text" class="form-control" name="estimated_time">
    </div>
   </div>
    <div class="box-footer">
      <a href="">
        <button type="submit" class="btn btn-primary col-md-12" style="border-radius : 0px;">SAVE</button>
      </a>
    </div>
</form>

это мой запрос

public function rules()
{
    return [
        'project_id',
        'task_category',
        'estimated_time',
        'spent_time' => 'nullable',
        'user_story' => 'nullable', 
        'story/meeting_name' => 'nullable',
        'assign' => 'nullable',
        'percentage' => 'nullable',
        'lateness' => 'nullable',
        'index' => 'nullable',
    ];
}

это мой контроллер

public function store(OngoingRequest $request)
{
    // dd($request->all());
    $spentime = SpentTime::create([
        'project_id' => request('project_id'),
        'user_story' => request ('user_story'),
        'task_category' => request('task_category'),
        'estimated_time' => request('estimated_time'),  

        'spent_time' => request('spent_time'),                     
        'assign' => request('assign'),
        'story/meeting_name' => request('story/meeting_name'),
        'percentage'=> request('percentage'),
        'lateness' => request('lateness'),
        'index'=> request('index'),           
    ]);
    return redirect()->route('plan.index');
}

и ошибка:

ошибка

поля, которые я не хочу заполнять и не в форме должны быть заполнены.но мне это не нужно.

1 Ответ

0 голосов
/ 03 октября 2018

установить spent_time подать значение по умолчанию, в противном случае установить обнуляемое значение

$table->string('spent_time')->nullable();

$table->boolean('spent_time')->default(0);
...