前提・実現したいこと
URLアドレス部分に、「http://localhost/laravelapp/public/hello/edit?id=1」と打ち込み、アクセスを試みると、以下のエラーが発生してしまっている状況です。
該当のソースコード
以下は、コントローラ部分であるHelloController.phpです
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use Illuminate\Http\Response; 7use App\Http\Requests\HelloRequest; 8use Validator; 9use Illuminate\Support\Facades\DB; 10 11 12class HelloController extends Controller{ 13 14 public function index(Request $request) 15 { 16 17 18 $items = DB::select('select * from people'); 19 return view('hello.index',['items' => $items]); 20 21 } 22 23 public function post(Request $request) 24 25 { 26 $items = DB::select('select * from people'); 27 dd('ng'); 28 return view('hello.index',['items' => $items]); 29 30 31 } 32 public function add(Request $request) 33 { 34 return view('hello.add'); 35 } 36 37 public function create(Request $request) 38 { 39 40 $param = [ 41 'name' => $request->name, 42 'mail' => $request->mail, 43 'age' => $request->age, 44 ]; 45 46 DB::insert('insert into people (name, mail, age) values 47 (:name, :mail,:age)',$param); 48 49 return redirect('/hello'); 50 } 51 52 public function edit(Request $request) 53 { 54 $param = ['id' => $request->id]; 55 $item = DB::select('select * from people where id = :id',$param); 56 return view ('hello.edit',['form' => $item[0]]); 57 } 58 59 public function update(Request $request) 60 61 { 62 $param = [ 63 'id' => $request->id, 64 'name' => $request->name, 65 'mail' => $request->mail, 66 'age' => $request->age, 67 ]; 68 69 DB::update('update people set name = :name,mail = :mail, 70 age = :age where id = :id',$param); 71 return redirect('/hello'); 72 } 73 74} 75 76
以下は、ルーティング部分のweb.phpです
php
1<?php 2 3/* 4|-------------------------------------------------------------------------- 5| Web Routes 6|-------------------------------------------------------------------------- 7| 8| Here is where you can register web routes for your application. These 9| routes are loaded by the RouteServiceProvider within a group which 10| contains the "web" middleware group. Now create something great! 11| 12*/ 13 14 15// Route::post('hello','HelloContoroller@post'); 16 17//use App\Http\Middleware\HelloMiddleware; 18 19Route::get('hello/add','HelloController@add'); 20Route::post('hello/add','HelloController@create'); 21 22Route::get('hello','HelloController@index'); 23 24Route::get('hello/edit','HelloController@edit'); 25Route::post('hello/edit','HelloController@update'); 26 27
以下は、ビュー部分のedit.blade.phpです
php
1@extends('Layouts.helloapp') 2 3@section('title','Edit') 4 5@section('menubar') 6 @parent 7 更新ページ 8 9@endsection 10 11@section('content') 12 13<table> 14 15 <form action="/hello/edit" method="post"> 16 {{ csrf_field() }} 17 <input type="hidden" name="id" value="{{$form->id}}"> 18 <tr><th>name: </th><td><input type="text" name="name" 19 value="{{$form->name}}"></td></tr> 20 <tr><th>mail:</th><td><input type="text" name="mail" 21 value="{{$form->mail}}"></td></tr> 22 <tr><th>age:</th><td><input type="text" name="age" 23 value="{{$form->age}}"></td></tr> 24 <tr><th></th><td><input type="submit" 25 value="send"></td></tr> 26 27 28 </form> 29</table> 30@endsection('footer') 31copyright 2017 tuyano. 32@endsection
試したこと
エラー内容を検索
補足情報(FW/ツールのバージョンなど)
laraveのバージョンは5.8です。
回答1件
あなたの回答
tips
プレビュー