EGO-LOG

40代2児の父。主にプログラム学習と開発、仮想通貨、メタバース、たまに関係ないことを綴る。

Laravel投稿サイト構築.89 -お題機能 表示-

前回、管理画面でのお題登録、削除を実装した。

今回はトップ画面にお題を表示する。

 

Modelに関数追加

現在日時が有効期限を過ぎていないお題のみ取得する関数

-----

public function get_themes_limit()
{

  $themes = Theme::select([
    't.id as theme_id',
    't.theme',
    't.category',
    't.expiry',
  ])->from('themes as t')
  ->where('expiry', '>', $dt_now)
  ->orderBy('t.created_at', 'desc')
  ->get();

  return $themes;
}

-----

 

Controllerの一覧取得関数修正

bladeに渡すデータにお題の一覧を追加

-----

public function index(Request $request)
{
  $md_theme = new Theme();
  $themes = $md_theme->get_themes();
  
  return view('dashboard', compact('dt_expire', 'themes'));
}

-----

 

bladeファイル修正

-----

<div class="d-flex fs-5 p-1 themes">
  <div class="themes-header"><span>お題:</span></div>
  <div>
      @foreach ($themes as $theme )
    <span class="theme me-1 ps-1 pe-1">{{$theme->theme}}(~{{$theme->expiry_month}}月{{$theme->expiry_day}}日)</span>
    @endforeach
  </div>
</div>

-----

 

動作確認

 

まとめ

お題から投稿はできないので簡易的なものだが良しとする。

次こそ音声に関係する機能を触っていきたい。

 

 

続く