Не удалось сохранить параметр выбора значения - PullRequest
0 голосов
/ 02 октября 2018

что не так в моем проекте.Я хочу сохранить с опцией выбора, но в поле не сохраняется опция выбора данных.это просто сохранить входной текст.Проект берется другой таблицей, а в форме просто получают project_name и project_id.project_id сохранится в таблице spent_times.и опция выбора сохранит task_category в таблице spent_times

это моя модель

protected $table = 'spent_times';
protected $fillable = [
    'task_category',
    'story/meeting_name',
    'assign',
    'estimated_time', 
    'user_story',
    'spent_time',
    'percentage',
    'lateness',
    'index',
    'project_id'
];

public function users() {
    return $this->hasMany(User::class);
}

public function project() {
    return $this->belongsTo(Project::class);
}

мой create.blade.php

<form action="{{route('store')}}" method="POST">
 @csrf
 <div class="box-body">
   <div class="form-group">
     <label for="">Project *</label>
       <select class="form-control select2" style="width: 100%;">
          <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%;">
         <option>Select One</option>
           @foreach($task_categories as $category)
             <option value="{{$category}}">{{$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="{{route('index')}}">
      <button type="submit" class="btn btn-primary col-md-12" style="border-radius : 0px;">SAVE</button>
     </a>
   </div>
 </form>

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

public function create()
{          
    $spentimes = new SpentTime;  
    $project = new Project;      
    $projects = Project::select('project_name', 'id')->get();      
    return view('Ongoings.index', compact ('projects', 'task_categories', 'spentimes', 'project'));
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    dd($request->all());
    $spentime = SpentTime::create([
        'project_name' => request('project_name'),
        'user_stroy' => request ('user_story'),
        'task_category' => request('task_category'),
        'estimated_time' => request('estimated_time')
    ]);
    $spentime->save();
    return redirect()->route('index');
}

ошибка вроде этой ошибка в веб-браузере

пожалуйста, помогите мне

Ответы [ 2 ]

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

Я считаю, что это ваш task_category блок выбора.

, поэтому этот блок выбора не имеет атрибута name .это ошибка.

Возможное решение.

<div class="form-group">
    <label for="">Category *</label>
    <select name="task_category" class="form-control select2" style="width: 100%;">
         <option>Select One</option>
         @foreach($task_categories as $category)
             <option value="{{$category}}">{{$category}}</option>
         @endforeach
    </select>
</div>
0 голосов
/ 02 октября 2018

Вы ожидаете эти поля из запроса в controller .

  • project_id
  • meeting_name
  • task_category
  • estimated_time

Но вытолько что отправил estimated_time, 3 других поля отсутствуют в вас create.blade.php

В create.blade.php, вход для выбора категории не имеетname. , поэтому task_category становится нулевым от request('task_category').Но поле task_category не может быть пустым в вашей таблице базы данных.

Правильно отправляйте ввод данных, как вы ожидаете в контроллере.Вы можете использовать dd($request->all()) для проверки.

...