LoginSignup
0
0

More than 1 year has passed since last update.

[laravel]モデル作成時の便利なオプション

Last updated at Posted at 2023-03-31

はじめに

laravelを触っていると結構な頻度で、Modelを作成したりControllerを作成したりすると思う。
僕自身結構作成してきたのだが、毎回1つずつ実行して面倒だなと思っていたのだが、
ModelとController同時に作成できるコマンドがあったので紹介していく。
CRUDも同時に作成してくれたりするので非常に便利!

Model作成コマンドたち

基本形(Modelのみ作成)

$ php artisan make:model Test
Model created successfully.

Modelファイルのみが作成される。

  • app/Models/Test.php

Controllerも同時に作成する

$ php artisan make:model Test -c
Model created successfully.
Controller created successfully.

2つのファイルが作成される

  • app/Models/Test.php
  • app/Http/Controllers/TestController.php

個人的にModelを作成する場合は単数形にする必要があり、Controllerを作成する場合は複数形にする必要があったりとこんがらがってしまっていたのでこのコマンドは非常に便利!!

CRUDを兼ね備えたControllerを作成する

$ php artisan make:model Test -r
Model created successfully.
Controller created successfully.

-rをつけてあげることで、Controllerを同時に作成するのに加えて、
resourse指定をしたときに出てくるControllerの中身も作られます。

<?php

namespace App\Http\Controllers;

use App\Models\Test;
use Illuminate\Http\Request;

class TestController 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  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  \App\Models\Test  $test
     * @return \Illuminate\Http\Response
     */
    public function show(Test $test)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Models\Test  $test
     * @return \Illuminate\Http\Response
     */
    public function edit(Test $test)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Models\Test  $test
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, Test $test)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Models\Test  $test
     * @return \Illuminate\Http\Response
     */
    public function destroy(Item $item)
    {
        //
    }
}

こんな感じで!!
他にも、migrationファイルを同時に作ったり、Factoryを同時に作ったり、Seederを同時に作ったりもできますが、
一番使用頻度の高そうなControllerファイルを同時に作成するやり方のみ紹介しましたー。

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0