terminal
php artisan make:model -a
自動で生成されるファイル
TodoController.php
<?php
namespace App\Http\Controllers;
use App\Models\Todo;
use App\Http\Requests\StoreTodoRequest;
use App\Http\Requests\UpdateTodoRequest;
class TodoController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \App\Http\Requests\StoreTodoRequest $request
* @return \Illuminate\Http\Response
*/
public function store(StoreTodoRequest $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Models\Todo $todo
* @return \Illuminate\Http\Response
*/
public function show(Todo $todo)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\Todo $todo
* @return \Illuminate\Http\Response
*/
public function edit(Todo $todo)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \App\Http\Requests\UpdateTodoRequest $request
* @param \App\Models\Todo $todo
* @return \Illuminate\Http\Response
*/
public function update(UpdateTodoRequest $request, Todo $todo)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Todo $todo
* @return \Illuminate\Http\Response
*/
public function destroy(Todo $todo)
{
//
}
}
StoreTodoRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreTodoRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
//
];
}
}
UpdateTodoRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdateTodoRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
//
];
}
}
Todo.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Todo extends Model
{
use HasFactory;
}
TodoPolicy.php
<?php
namespace App\Policies;
use App\Models\Todo;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class TodoPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
//
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \App\Models\Todo $todo
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Todo $todo)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \App\Models\Todo $todo
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Todo $todo)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Todo $todo
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Todo $todo)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \App\Models\Todo $todo
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Todo $todo)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \App\Models\Todo $todo
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Todo $todo)
{
//
}
}
TodoFactory.php
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Todo>
*/
class TodoFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition()
{
return [
//
];
}
}
create_todos_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('todos', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('todos');
}
};
TodoSeeder.php
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class TodoSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}