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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

Q&A

解決済

1回答

700閲覧

【laravel】追加したカラムにデータが保存できない

youplus40

総合スコア19

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

1グッド

0クリップ

投稿2022/09/17 12:33

前提

既存のlaravelアプリにカラムをphpmyadminにて追加 (カラム名:conditions)し、laravelの管理画面からデータをカラムにインサートしたいです。
現状、Column not foundのエラーがerrorlogにでています。
カラムを追加した際、下記記載箇所のソースコードを変更しています。
変更内容は間違っていますでしょうか。もしくは別途修正すべき箇所はありますでしょうか。

phpmyadminのshopsテーブル内

発生している問題・エラーメッセージ

production.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'conditions' in 'field list' (SQL: update `shops` set `conditions` = 1, `shops`.`updated_at` = 2022-09-17 20:38:01 where `id` = 1) {"userId":3,"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'conditions' in 'field list' (SQL: update `shops` set `conditions` = 1, `shops`.`updated_at` = 2022-09-17 20:38:01 where `id` = 1) at /home/users/1/example.jp/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671)

該当のソースコード

app/Models/Shop.php

php

1class Shop extends Model 2{ 3 protected $fillable = [ 4 'conditions', 5 ]; 6}

app/Http/Controllers/ShopController.php

public function show($id) { $shop = Shop::where([ ['area_id', '=', config('constants.AREA_ID')], ['id', '=', $id], ['status', '=', 1], ])->firstOrFail(); $const_shop_costume_rental = config('constants.FORM.SHOP_COSTUME_RENTAL'); $const_shop_hairmake = config('constants.FORM.SHOP_HAIRMAKE'); $const_shop_transfer = config('constants.FORM.SHOP_TRANSFER'); $const_shop_dormitory = config('constants.FORM.SHOP_DORMITORY'); $const_shop_freewords = config('constants.FORM.SHOP_FREEWORDS'); $const_shop_conditions = config('constants.FORM.SHOP_CONDITIONS'); return view('shop.show', [ 'shop' => $shop, 'const_shop_costume_rental' => $const_shop_costume_rental, 'const_shop_hairmake' => $const_shop_hairmake, 'const_shop_transfer' => $const_shop_transfer, 'const_shop_conditions' => $const_shop_conditions, 'const_shop_freewords' => $const_shop_freewords, 'const_shop_dormitory' => $const_shop_dormitory, ]); }

config/constants.php

php

1<?php 2 return [ 3 'FORM' => [ 4 'SHOP_CONDITIONS' => [ 5 '1' => 'テスト', 6 ], 7 ], 8 ]; 9?>

resources/views/admin/shop/edit.blade.php

php

1 <form method="POST" action="{{ route('admin.shop.update', ['shop' => $shop]) }}" enctype="multipart/form-data"> 2 @csrf 3 @method('PUT') 4 <table class="c-table c-table__col"> 5 <tr> 6 <th>条件</th> 7 <td> 8 <div class="c-form__check c-form__check_inline"> 9 @foreach(config('constants.FORM.SHOP_CONDITIONS') as $key => $value) 10 <label><input type="checkbox" name="conditions" value="{{ $key }}" {{ old('conditions', $shop->conditions) == $key ? 'checked' : '' }}> {{ $value }}</label> 11 @endforeach 12 </div> 13 </td> 14 </tr> 15 <div class="c-buttons"> 16 <a href="{{ route('admin.shop.index') }}" class="c-button c-button__cancel">戻る</a> 17 <button type="submit" class="c-button c-button__action">更新する</button> 18 </div> 19 </form>
yukkuri_55👍を押しています

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

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

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

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

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

guest

回答1

0

自己解決

mysqlのconditionsの前に半角スペースが含まれていました。
SQL名を編集したところ、保存できました

投稿2022/09/18 09:18

youplus40

総合スコア19

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問