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>
-----
動作確認
まとめ
お題から投稿はできないので簡易的なものだが良しとする。
次こそ音声に関係する機能を触っていきたい。
続く