laravel 新規登録
解決したいこと
新規登録ボタンを実装したい
例)
Laravelで商品管理システムをつくっています。
新規登録の作成をしており、色々なサイトを見ながら進めているのですが、
なかなか上手くいきません。
解決法を教えてください。
下の写真のような感じにしたいです。新規登録を押すと新規登録画面へ推移させたいです。
発生している問題・エラー
ボタンを押しても機能しない
該当するソースコード
@extends('app')
@section('title', '商品一覧画面')
@section('content')
商品一覧画面
@csrf
<div class="form-group">
<form action="{{ route('search') }}" method="GET">
@csrf
@method('search')
<input placeholder="検索キーワード" input type="text" name="keyword">
<select input type="text" name="keyword" >
<option value="メーカー名">メーカー名</option>
<option value="コカ・コーラ">コカ・コーラ</option>
<option value="サントリー">サントリー</option>
<option value="キリン">キリン</option>
</select>
<input type="submit" value="検索">
</form>
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<table>
<thead>
<tr>
<th>ID</th>
<th>商品画像</th>
<th>商品名</th>
<th>価格</th>
<th>在庫数</th>
<th>メーカー名</th>
<th><button type="submit" class="btn btn-primary btn-block">新規登録</button></th>
<form action="{{ route('regist') }}" method="POST">
@csrf
@method('regist')
<input type="submit" class="btn btn-primary value="新規登録">
</form>
</thead>
<tbody>
@foreach ($productes as $productes)
<tr>
<td>{{ $productes ->id }}</td>
<td>{{ $productes -> img_path}}</td>
<td>{{ $productes ->product_name }}</td>
<td>{{ $productes ->price }}</td>
<td>{{ $productes -> stock}}</td>
<td>{{ $productes ->company_name}}</td>
<td><a href="{{route('detail',['id'=>$productes->id])}}"><button type="button" class="btn btn-primary">詳細</button></a></td>
<td><a href="{{ route('delete',['id'=>$productes->id]) }}" method="GET"></td>
<td>
<form action="{{route('delete',['id'=>$productes->id])}}" method="GET">
@csrf
@method('delete')
<input type="submit" class="btn btn-danger delete-btn" value="削除">
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</form>
</div>
</div>
product.controller
/新規登録
public function insertProduct(Request $request){
DB::beginTransaction();
try {
$model = new Productes();
$model->insertProduct($request);
DB::commit();
} catch (\Exception $e) {
DB::rollback();
return back();
}
return redirect()->route('regist');
}
model
/新規登録
public function insertProduct($request){
DB::table('productes')
->insert([
'product_name' => $request->input('product_name'),
'company_name' => $request->input('company_name'),
'price' => $request->input('price'),
'stock' => $request->input('stock'),
]);
}
web.php
Route::post('/regist', [App\Http\Controllers\ProductesController::class, 'regist'])->name('regist');//新規登録
自分で試したこと
色々試してみましたが、なぜ機能しないのか原因がわかりません。
詳しい方がおられましたら教えていただきたいです。
宜しくお願い致します