diff --git a/backend/app/Http/Controllers/Api/ChildrenController.php b/backend/app/Http/Controllers/Api/ChildrenController.php index 18bc5c69..df667563 100644 --- a/backend/app/Http/Controllers/Api/ChildrenController.php +++ b/backend/app/Http/Controllers/Api/ChildrenController.php @@ -64,6 +64,10 @@ class ChildrenController extends Controller { 'ttl' => date('Y-m-d H:i:s', strtotime("8 hour")), ]; + if (isset($r->father_id) && $r->father_id > 0) { + $create['father_id'] = $r->father_id; + } + try { // DBに入ります。 DB::beginTransaction(); @@ -176,6 +180,18 @@ class ChildrenController extends Controller { $child->fill($insert); $child->push(); + if (!is_null($telact->father_id)) { + $rel = new FatherRelation; + $add = [ + 'father_id' => $telact->father_id, + 'child_id' => $child->id, + 'hire_at' => date('Y-m-d H:i:s', time()), + ]; + + $rel->fill($add); + $rel->push(); + } + $telact->delete(); // メールを送ります。 diff --git a/backend/app/Models/TelActivation.php b/backend/app/Models/TelActivation.php index 3902d68e..24b517dd 100644 --- a/backend/app/Models/TelActivation.php +++ b/backend/app/Models/TelActivation.php @@ -8,5 +8,5 @@ use Illuminate\Database\Eloquent\Model; class TelActivation extends Model { use HasFactory; - protected $fillable = ['type', 'child_id', 'tel', 'token', 'ttl']; + protected $fillable = ['type', 'child_id', 'father_id', 'tel', 'token', 'ttl']; } diff --git a/backend/database/factories/TelActivationFactory.php b/backend/database/factories/TelActivationFactory.php index 74e55410..cf735848 100644 --- a/backend/database/factories/TelActivationFactory.php +++ b/backend/database/factories/TelActivationFactory.php @@ -26,10 +26,13 @@ class TelActivationFactory extends Factory '080'.rand(10000000, 99999999), '090'.rand(10000000, 99999999) ]; + $father_id = rand(0, 10); + if ($father_id == 0) $father_id = null; return [ 'type' => rand(0, 1), 'child_id' => rand(1, 10), + 'father_id' => $father_id, 'tel' => $tel[rand(0, 2)], 'token' => $this->faker->creditCardNumber, 'ttl' => $this->faker->dateTime, diff --git a/backend/database/migrations/2021_08_13_050204_create_tel_activations_table.php b/backend/database/migrations/2021_08_13_050204_create_tel_activations_table.php index 6428ca31..2c7fa5ca 100644 --- a/backend/database/migrations/2021_08_13_050204_create_tel_activations_table.php +++ b/backend/database/migrations/2021_08_13_050204_create_tel_activations_table.php @@ -18,6 +18,8 @@ class CreateTelActivationsTable extends Migration $table->unsignedTinyInteger('type'); $table->unsignedBigInteger('child_id')->nullable(); $table->foreign('child_id')->references('id')->on('children')->onDelete('cascade'); + $table->unsignedBigInteger('father_id')->nullable(); + $table->foreign('father_id')->references('id')->on('fathers')->onDelete('cascade'); $table->string('tel', 11)->unique(); $table->string('token', 100)->unique(); $table->dateTime('ttl'); diff --git a/backend/routes/web.php b/backend/routes/web.php index ca5cb070..be479d13 100644 --- a/backend/routes/web.php +++ b/backend/routes/web.php @@ -70,7 +70,7 @@ Route::get('/unknown-error ', function () { return vie // ---------------------------------------- Child Account ------------------------------------------- // Route::group(['prefix' => 'c-account'], function () { - Route::get('/register-temporary', function(Request $r){ return view('c_account.auth', ['father_id'=>$r->father_id]);}); + Route::get('/register-temporary', function (Request $r) { return view('c_account.auth', [ 'father_id' => $r->father_id ]); }); Route::get('/login', '\App\Http\Controllers\Api\ChildrenController@checkLogin')->name('childrenlogin'); Route::get('/logout', '\App\Http\Controllers\Api\ChildrenController@logout'); Route::get('/withdrawal/complete', function () { return view('c_account.auth'); });