前提
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
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー