sena9718
@sena9718

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

チーム開発でのseeder・factoryファイルの作成方法

解決したいこと

初めてチーム開発でのLaravelを使った課題に取り組んでいます。
内容としては教育システムのようなものをつくっています。
下記画像の右の学年ボタンを押すと、その学年に登録されている授業内容が表示されるようにしたいです。

スクリーンショット 2024-05-03 10.32.35.png

現在、各学年ごとの画像・授業タイトル・配信日時を含んだseeder・factoryファイルの作成を試みています。ただチーム開発が初めてなもので、リレーション設定なども勝手に個人で設定してよいのか分からないというのと、各学年ごとにファイルを作成しなければならないのかという疑問もあり、どのようにすればよいのか分からない状態です。
何かアドバイスをいただけたら幸いです。

下記にER図も記載します。

スクリーンショット 2024-05-07 10.26.32.png

該当するソースコード

現状のコードを記載します。

class_list.blade.php
@extends('layouts.app')

@section('content')
<div class="container">
  {{-- ヘッダー --}}
  <div class="header bg-info d-flex align-items-center py-4">
    <a href="{{ route('class_list.index') }}" class="btn btn-secondary ms-4 mx-2"><h4>授業管理</h4></a>
    <a class="btn btn-secondary ms-4 mx-2"><h4>お知らせ管理</h4></a>
    <a class="btn btn-secondary ms-4 mx-2"><h4>バナー管理</h4></a>
    <label class="ms-auto text-white mx-4"><h4>ログアウト</h4></label>
  </div>

  <a>←戻る</a>
  <h1 class="m-3">授業一覧</h1>
  <a href="{{ route('class_setting.create') }}" class="btn btn-success">新規登録</a>

  <div class="grade mt-5 d-flex flex-column">
    <button class="btn bg-info m-2" onclick="showContent('小学校1年生')">小学校1年生</button>
    <button class="btn bg-info m-2" onclick="showContent('小学校2年生')">小学校2年生</button>
    <button class="btn bg-info m-2" onclick="showContent('小学校3年生')">小学校3年生</button>
    <button class="btn bg-info m-2" onclick="showContent('小学校4年生')">小学校4年生</button>
    <button class="btn bg-info m-2" onclick="showContent('小学校5年生')">小学校5年生</button>
    <button class="btn bg-info m-2" onclick="showContent('小学校6年生')">小学校6年生</button>
    <button class="btn bg-info m-2" onclick="showContent('中学校1年生')">中学校1年生</button>
    <button class="btn bg-info m-2" onclick="showContent('中学校2年生')">中学校2年生</button>
    <button class="btn bg-info m-2" onclick="showContent('中学校3年生')">中学校3年生</button>
    <button class="btn bg-info m-2" onclick="showContent('高校1年生')">高校1年生</button>
    <button class="btn bg-info m-2" onclick="showContent('高校2年生')">高校2年生</button>
    <button class="btn bg-info m-2" onclick="showContent('高校3年生')">高校3年生</button>
  </div>

  {{-- <div class="classes">
    @foreach ($classes as $class)
    
    @endforeach
  </div> --}}
</div>

@endsection
ManagementController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Admin;
use App\Models\Article;
use App\Models\Banner;

class ManagementController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('admin.class_list');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('admin.class_setting');
    }

    /**
     * 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  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        return view('admin.class_setting');
    }

    public function set($id)
    {
        return view('admin.delivery_time');
    }

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

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}
0

1Answer

リレーション設定なども勝手に個人で設定してよいのか分からない

チーム次第なので要件を確認するといいと思います。一般的な話をすると、本番環境で作られることが想定されるレコードやリレーションを開発環境に用意しておくと挙動確認などが便利になります。

各学年ごとにファイルを作成しなければならないのか

こうすべきという方針はないので、読み書きしやすさを考えて分割してください。ただ、小学校1〜6年生までループして同様のレコードを作るような状況を考えると、学年ごとに分けるのはあまりうまくない気はします。

1Like

Your answer might help someone💌