前提・実現したいこと
データベースに$inputs2の内容を登録したい。
作成したinstanceのRegister_dataのclassが見つかりませんと出ます。
どのようにclassの継承を行えばいいかわかりません。
ご教示よろしくお願い致します。
発生している問題・エラーメッセージ
Class 'App\Http\Controllers\Auth\Register_data' not found
該当のソースコード
app/Http/controllers/RegisterController.php
<?php namespace App\Http\Controllers\Auth; use App\User; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Http\Request; use App\Http\Requests\RegisterRequest; use Illuminate\Support\Facades\Mail; use App\Mail\RegisterSendmail; class RegisterController extends Controller { use RegistersUsers; protected $redirectTo = '/'; public function __construct() { $this->middleware('guest'); } public function validator(array $data) { return Validator::make($data, [ 'name' => ['required', 'string', 'max:255'], 'kname' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'password' => ['required', 'string', 'min:8', 'confirmed'], 'gender' => 'required', 'birthday1' => ['required', 'string',], 'birthday2' => ['required', 'string',], 'birthday3' => ['required', 'string',], 'tel' => ['required', 'string'], 'postal_code' => 'required', 'prefectures_name' => ['required', 'string', 'max:255'], 'city' => ['required', 'string', 'max:255'], 'subsequent_address' => ['required', 'string', 'max:255'] ]); } public function confirm(RegisterRequest $request) { $inputs2 = $request->all(); return view('auth/register_confirm', ['inputs2' => $inputs2]); } public function complete(Request $request) { $register_data = new RegisterData(); $inputs2 = $request->all(); $register_data->fill($inputs2)->save(); //カラムの更新+データベースへ記録 \Debugbar::info($register_data); \Debugbar::info("test"); $action = $request->get('action', 'back'); $inputs2 = $request->except('action'); \Debugbar::info($inputs2); if($action === 'post') { \Mail::to($inputs2["email"])->send(new RegisterSendmail($inputs2)); $request->session()->regenerateToken(); return view('auth/register_complete'); } else { return redirect() ->route('register') ->withInput($inputs2); } } }
database/migrations/create_users_table
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() /*up関数の中でカラムを定義する*/ { Schema::create('users', function (Blueprint $table) { /*createメソッドでは、第1引数にテーブル名のusers、第2引数にクロージャを指定する*/ $table->bigIncrements('id'); /*クロージャでは、第1引数にBlueprintオブジェクト、第2引数に$tableを指定する*/ $table->string('name'); $table->string('kname')->comment('フリガナ'); $table->string('email')->unique(); /*unique使用の注意点:uniqidは暗号としては脆弱なので、パスワードやトークンとして利用しないように気をつける*/ $table->string('password'); $table->string('gender')->length(2); $table->string('birthday1'); $table->string('birthday2'); $table->string('birthday3'); $table->string('tel'); $table->string('postal_code')->comment('郵便番号'); $table->string('prefectures_name')->comment('都道府県名'); //JIS X0401に準拠して01~47が入るためstring(verchar(2)で定義 $table->string('city')->comment('市区町村'); $table->string('subsequent_address')->comment('その以降の住所'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); /*down関数の中ではテーブル削除の処理が記述されている*/ } }
app/User.php
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use Notifiable; //Notifiable 訳)通知可能// /** * The attributes that are mass assignable. * * @var array * DB への登録を許可するためにはホワイトリスト $fillable に項目を追加する必要がある*/ protected $fillable = [ 'name', 'kname', 'email', 'password', 'gender', 'birthday1', 'birthday2', 'birthday3', 'tel', 'postal_code', 'area', 'prefectures_name', 'city', 'subsequent_address' ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast to native types. * * @var array * $sastsで選択したカラムの型を変換する */ protected $casts = [ 'email_verified_at' => 'datetime', ]; }
試したこと
下記ページを参考にしまたしたが、どのfileに継承すればclassを使用できるのかわかりませんでした。
リンク内容
回答1件
あなたの回答
tips
プレビュー