質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

701閲覧

「再」laravelで登録処理がうまくいきません

ryu0502

総合スコア29

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/06/21 12:49

編集2022/06/21 13:09

storeメゾットを使って文字を入力後、登録ボタンを押して登録処理をして一覧画面に追加表記させたいと思っているのですが、なかなかうまくいきません。
ご教授いただきたいと思います。
先ほどの質問から色々調べて記述を変えて実行したところ、
SQLSTATE[HY000]: General error: 1364 Field 'company_id' doesn't have a default value (SQL: insert into products (updated_at, created_at) values (2022-06-21 12:23:02, 2022-06-21 12:23:02))
このようなエラーがでてしまいました。
ご教授いただけると幸いです。

web.php

1<?php 2use Illuminate\Support\Facades\Route; 3use App\Http\Controllers\productsController; 4 5/* 6|-------------------------------------------------------------------------- 7| Web Routes 8|-------------------------------------------------------------------------- 9| 10| Here is where you can register web routes for your application. These 11| routes are loaded by the RouteServiceProvider within a group which 12| contains the "web" middleware group. Now create something great! 13| 14*/ 15 16Route::get('/', function () { 17 return view('welcome'); 18}); 19 20Auth::routes(); 21 22Route::get('/home', 'HomeController@index')->name('home'); 23Route::get('/products', [productsController::class, 'index'])->name('products.index'); 24Route::get('/create', [productsController::class, 'create'])->name('products.create'); 25Route::post('/store', [productsController::class, 'store'])->name('products.store');

productsController.php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Models\products; 7 8class productsController extends Controller 9{ 10 public function index() 11 { 12 $query = Products::query(); 13 //全件取得 14 //$users = $query->get(); 15 //ページネーション 16 $products = $query->orderBy('id','desc')->paginate(10); 17 return view('products.index')->with('products',$products); 18 } 19 20 public function create() 21 { 22 //createに転送 23 return view('products.create'); 24 } 25 26 public function store(Request $request) 27 { 28 $products = Products::create(); 29 30 //値の登録 31 $products->product_name = $request->product_name; 32 33 //保存 34 $products->save(); 35 36 //一覧にリダイレクト 37 return redirect()->to('/products'); 38 } 39}

create.blade.php

1@extends('layouts.app') 2 3@section('content') 4 5<h1>商品情報登録画面</h1> 6 7<div class="row"> 8 <div class="col-sm-12"> 9 <a href="{{ route('products.index') }}" class="btn btn-primary" style="margin:20px;">一覧に戻る</a> 10 </div> 11 </div> 12 13 <!-- form --> 14 <form method="post" action="{{ route('products.store') }}"> 15 16 <div class="form-group"> 17 <label>商品名</label> 18 <input type="text" name="product_name" value="" class="form-control"> 19 </div> 20 21 22 <input type="hidden" name="_token" value="{{csrf_token()}}"> 23 24 <input type="submit" value="登録" class="btn btn-primary"> 25 26 </form> 27 28@stop

index.blade.php

1 2@extends('layouts.app') 3 4@section('content') 5 6<h1>商品情報一覧画面</h1> 7 8<a href="{{ route('products.create') }}">新規登録</a> 9 10<table class="table table-striped"> 11 <thead> 12 <tr> 13 <th>id</th> 14 <th>商品画像</th> 15 <th>商品名</th> 16 <th>価格</th> 17 <th>在庫数</th> 18 <th>メーカー名</th> 19 </tr> 20 </thead> 21 <tbody> 22 @foreach ($products as $products) 23 <tr> 24 <td>{{ $products->company_id }}</td> 25 <td>{{ $products->img_path }}</td> 26 <td>{{ $products->product_name }}</td> 27 <td>{{ $products->price }}</td> 28 <td>{{ $products->stock }}</td> 29 <td>{{ $products->comment }}</td> 30 <td><a href="" class="btn btn-primary">詳細表示</a></td> 31 <td><button type="button" class="btn btn-danger">削除</button></td> 32 </tr> 33 @endforeach 34 </tbody> 35<table>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2022/06/21 13:11

「過去に投稿した質問と同じ内容の質問」に該当するので低評価しました。
phper.k

2022/06/21 14:41

エラーメッセージを読んでないのか、読んだけど理解できないということなのか、どっちなんでしょうか?
ryu0502

2022/06/21 20:38

エラーメッセージの内容がよくわかっていない次第であります。
ryu0502

2022/06/21 21:42

phpMyAdminでNULL許可をして商品名だけでも登録できるのか実行してみたところ、同じようなエラーが起こってしまいます。
退会済みユーザー

退会済みユーザー

2022/06/21 23:56

App\Models\products の中身が気になる。NULLを許可していないcompany_idが与えられていないからエラーになっているようだが?
guest

回答1

0

自己解決

コントローラーの表記にミスがありました。

投稿2022/06/25 06:52

ryu0502

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問