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

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

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

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

Laravel

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

PHP

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

Q&A

解決済

1回答

556閲覧

laravelでテーブルにデータをinsertできない

ttpk

総合スコア338

MySQL

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

Laravel

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

PHP

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

0グッド

0クリップ

投稿2022/11/02 14:09

前提

laravelでAPIを開発しています
パスワード再発行機能を自作しています

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • 新しく追加したテーブルにデータをinsertしたい

該当のソースコード

二通りの方法でinsertを試しましたがDBにデータは入っていませんでした

PHP

1 $resetToken = new ResetToken; 2 $resetToken->email = $request->email;; 3 $resetToken->token = $passwordResetToken; 4 $resetToken->created_at = Carbon::now(); 5 6 $resetToken->save(); 7 8 9 10 $resetToken = new ResetToken(); 11 $resetToken->create([ 12 'email' => $request->email, 13 'token' => $passwordResetToken, 14 'created_at' => Carbon::now(), 15 ]);

Model

PHP

1<?php 2 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Factories\HasFactory; 6use Illuminate\Database\Eloquent\Model; 7 8class ResetToken extends Model 9{ 10 use HasFactory; 11 12 protected $table = 'reset_tokens'; 13 14 protected $fillable = [ 15 'email', 16 'token', 17 'created_at', 18 ]; 19 20 // メールアドレスでパスワードリセットテーブルを検索 21 public function searchResetTokenByEmail($email) 22 { 23 return ResetToken::where('email', $email)->first(); 24 } 25 26 // トークンでパスワードリセットテーブルを検索 27 public function searchResetTokenByToken($token) 28 { 29 return ResetToken::where('token', $token)->first(); 30 } 31 32} 33

migration

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateResetTokens extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('reset_tokens', function (Blueprint $table) { $table->id(); $table->string('email'); $table->string('token'); $table->timestamp('created_at'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('reset_tokens'); } }

カラム名の間違いの他に確認が必要な箇所はどこになるでしょうか?

試したこと

requestからemailの値を取得できていること
tokenの値を生成できていることはログの内容から確認済みです

補足情報(FW/ツールのバージョンなど)

Laravel v8.83.23
PHP v7.4.18

ここにより詳細な情報を記載してください。

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

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

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

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

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

phper.k

2022/11/02 14:11

認証周りのパッケージなんて普通にあるのに、わざわざ自作する意味はなんですか?
phper.k

2022/11/02 14:23

スクールってデバッグの方法は教えてくれないもんなんですかね?
ttpk

2022/11/02 14:41

laravelの認証機能を利用するやり方に再挑戦したところ成功しました コメントありがとうございました
phper.k

2022/11/02 14:46

「スクールってデバッグの方法は教えてくれないもんなんですか?」 こちらの質問には回答しないスタンス?
guest

回答1

0

自己解決

https://zenn.dev/naoki_oshiumi/articles/1e35fda118b74c
こちらの記事を参考にlaravelのパスワード再設定機能を使おうとして出た
"message": "Route [password.reset] not defined.",
のエラーを

https://hitoriit.blog/archives/1299
こちらの記事で解消でき、再設定メールを飛ばすことができました

投稿2022/11/02 14:42

ttpk

総合スコア338

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問