0
votes

When i edit my projects it give me this error . please help . im stuck. how do i know where is the error. then maybe i can fix it.

This is my edit.blade.php

@extends('layouts.app')
@section('content')

<div style="width:100%" align="center">
<h1>Газар албаны нэр солих</h1>
<div style="background: white; width: 750px">
<form method="POST" action="{{ route('projects.edit',[$project->id]) }}">
{{ csrf_field() }}
@if($companies != null)
<label for="company-content">Боловсруулсан газар албадын нэр</label>
<div class="form-group">
<select name="company_id" class="form-control" required> 
@foreach($companies as $company)
<option value="{{$company->name}}"> {{$company->name}} </option>
@endforeach
</select>
</div>
@endif
@if($positions != null)
<div class="form-group">
<label for="position-content">Боловсруулсан хүний албан тушаал</label>
<select name="position_id" class="form-control" required> 
@foreach($positions as $position)
<option value="{{$position->name}}"> {{$position->name}} </option>
@endforeach
</select>
</div>
@endif
<div class="form-group">
<label for="project-bner">Боловсруулсан хүний нэр<span class="required">*</span></label>
<input placeholder="Боловсруулсан хүний нэр" id="project-bner" name="bner" spellcheck="false" class="form-control" required/>
</div>
@if($positions != null)
<div class="form-group">
<label for="position-content">Хянасан хүний албан тушаал</label>
<select name="poz_id" class="form-control" required> 
@foreach($positions as $position)
<option value="{{$position->name}}"> {{$position->name}} </option>
@endforeach
</select>
</div>
@endif
<div class="form-group">
<label for="project-hner">Хянасан хүний нэр<span class="required">*</span></label>
<input placeholder="Хянасан хүний нэр" id="project-hner" required name="hner" spellcheck="false" class="form-control"/></div>
@if($documents != null)
<div class="form-group">
<label for="document-content">Баримт бичгийн төрөл</label>
<select name="document_id" class="form-control" required> 
@foreach($documents as $document)
<option value="{{$document->name}}"> {{$document->name}} </option>
@endforeach
</select>
</div>
@endif
<div class="form-group">
<label for="project-bbner">Баримт бичгийн нэр<span class="required">*</span></label>
<input placeholder="Баримт бичгийн нэр" id="project-bbner" required name="bbner" spellcheck="false" class="form-control"/>
</div>
<label for="ddate">Дугаар өгсөн огноо</label>
{{ Form::date('ddate', new \DateTime(), ['class' => 'form-control']) }}
</br>
<div class="form-group">
<label for="project-bdugaar">Баримт бичгийн дугаар<span class="required">*</span></label>
<input placeholder="Баримт бичгийн дугаар" id="project-bdugaar" required name="bdugaar" spellcheck="false" class="form-control"/>
</div>
<div class="form-group">
<label for="batalgaatdate">Баталгаат хугацаа</label>
<select class="form-control" id="ddate" name="batalgaatdate" required>
<option value="Хуулийн төсөл - / 40 хоног хүртэл /">Хуулийн төсөл - / 40 хоног хүртэл /</option>
<option value="УИХ-ын болон ЗГ-ын тогтоолын төсөл - / 20 хоног хүртэл /">УИХ-ын болон ЗГ-ын тогтоолын төсөл - / 20 хоног хүртэл /</option>
<option value="Зөвлөмж - / 10 хоног хүртэл /">Зөвлөмж - / 10 хоног хүртэл /</option>
<option value="Журам - / 21 хоног хүртэл /">Журам - / 21 хоног хүртэл /</option>
<option value="Дүрэм - / 21 хоног хүртэл /">Дүрэм - / 21 хоног хүртэл /</option>
<option value="Заавар - / 10 хоног хүртэл /">Заавар - / 10 хоног хүртэл /</option>
<option value="Ажлын заавар - / 10 хоног хүртэл /">Ажлын заавар - / 10 хоног хүртэл /</option>
<option value="Удирдамж - / 5 хоног хүртэл /">Удирдамж - / 5 хоног хүртэл /</option>
</select>
</div>
<div class="form-group">
<label for="version">Хувилбар</label>
<select class="form-control" id="version" name="version" required>
<option value="Шинэ">Шинэ</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div>
<div class="form-group">
<label for="burtgel">Анхан шатны бүртгэлтэй эсэх</label>
<select class="form-control" id="burtgel" name="burtgel" required>
<option value="Тийм">Тийм</option>
<option value="Үгүй">Үгүй</option>
</select>
</div>
<div class="form-group">
<label for="project-aner">АШБ-ын нэр<span class="required">*</span></label>
<input placeholder="АШБ-ын нэр" id="project-aner" required name="aner" spellcheck="false" class="form-control"/></div>
<div class="form-group">
<label for="project-adugaar">АШБ-ын дугаар<span class="required">*</span></label>
<input placeholder="АШБ-ын дугаар" id="project-adugaar" required name="adugaar" spellcheck="false" class="form-control"/>
</div>
<div class="form-group">
<label for="batlagdsan">Батлагдсан эсэх</label>
<select class="form-control" id="batlagdsan" name="batlagdsan" required>
<option value="Тийм">Тийм</option>
<option value="Үгүй">Үгүй</option>
</select>
</div>
<label for="batdate">Батлагдсан огноо</label>
{{ Form::date('batdate', new \DateTime(), ['class' => 'form-control']) }}
</br>
<div class="form-group">
<label for="project-btushaal">Батлагдсан тушаалын тоот<span class="required">*</span></label>
<input   placeholder="Батлагдсан тушаалын тоот" id="project-btushaal" required name="btushaal" spellcheck="false" class="form-control"/></div>
<label for="date">ББНС-д хүлээн авсан огноо</label>
{{ Form::date('date', new \DateTime(), ['class' => 'form-control']) }}
</br>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Submit"/>
</div>
</form>
</div>
</div>

@endsection ProjectController

public function update($id, Request $request)
 {
    $this->validate($request, [
        'company_id' => 'required',
        'position_id' =>  'required',
        'bner' =>  'required',
        'poz_id' =>  'required',
        'hner' =>  'required',
        'document_id' =>  'required',
        'bbner' =>  'required',
        'ddate' =>  'required',
        'bdugaar' =>  'required',
        'batalgaatdate' =>  'required',
        'version' =>  'required',
        'burtgel' =>  'required',
        'aner' => 'required',
        'adugaar' => 'required',
        'batlagdsan' =>  'required',
        'batdate' => 'required',
        'btushaal' =>  'required',
        'date' =>  'required',
    ]);
        $postData = $request->all();
        Post::find($id)->update($postData);
        Session::flash('success_msg', 'Project updated successfully!');
        return redirect()->route('projects.index');
 }

web.php

Route::get('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

It looks like your post mostly code please add details and i adding some details here It looks like your post mostly code please add details and i adding some details here It looks like your post mostly code please add details and i adding some details here It looks like your post mostly code please add details and i adding some details here

This is the error message

2

3
Route::get needs to be Route::post. 405 exceptions mean the wrong HTTP verb is being used. - user320487

3 Answers

0
votes

Your method signature is incorrect. Request should always be the first parameter:

public function update(Request $request, $id)

Edit:

If you are submitting a form to the server, you should be POSTing to update. If you are navigating to the form, you should be GETing from edit.

0
votes

You are trying to make a post request on a get route. So change the route from:

Route::get('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

to

Route::post('/projects/edit/{id}','ProjectsController@edit')->name('projects.update');
0
votes

You have defined a get route in your web.php but you are trying to send the form via a POST request.

Change:

Route::get('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

To:

Route::post('/projects/edit/{id}','ProjectsController@edit')->name('projects.edit');

And you route name is wrong,

Change your Form action to

<form method="POST" action="{{ route('projects.edit',[$project->id]) }}">