laravelでorderbyメソッドを使用して日付順に並べ替えをしようと思っていますが。
その処理をコントローラーのどのfunctionに入れればいいのか分からなくなってしまいました。
どなたかヒントを頂けないでしょうか。
下記bladeファイルです。
php
<!DOCTYPE html> @extends('layouts.layout') {{-- layout.blade.phpの@yield('title')に'埋めこみ --}} @section('title', 'task management') {{-- layout.blade.phpの@yield('content')に以下のタグを埋め込む --}} @section('content') <div class="container"> <div class="row"> <div class="col-md-8 mx-auto"> <h2>Todoリスト登録</h2> <form action="{{ action('TaskController@store') }}" method="post" enctype="multipart/form-data"> @if (count($errors) > 0) <ul> @foreach($errors->all() as $e) <li>{{ $e }}</li> @endforeach </ul> @endif <div class="form-group"> <label class="formGroupExampleInput"for="title">題名</label> <input type="text" class="form-control" id="formGroupExampleInput" placeholder="題名を登録して下さい" name="title" value="{{ old('title') }}"> </div> <div class="form-group"> <label class="formGroupExampleInput2"for="body">Todo</label> <input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Todoを登録して下さい" name="body" value="{{ old('body') }}"> </div> <!--下記日付の登録フォーム--> <div class="form-group"> <div class="text-right"> <label for="deadline">期限入力<lavel> <input type="date" name="deadline"> </div> </div> <!--下記status_nameのデフォルト値の入力--> <input type="hidden" name="status_name" value="未着"> <!--下記ボタンの右寄せ--> {{ csrf_field() }} <div class="text-right"> <input type="submit" class="btn btn-primary" value="登録"> </div> </form> </div> </div> <div class="row"> <div class="col-md-9 mx-auto"> <div class="col-md-8"> <h2>リスト一覧</h2> </div> <div class="col-md-4"> <form action="{{ action('TaskController@index') }}" method="get"> <div class="form-group row "> <label class="col-md-3">題名</label> <div class="col-md-6"> <input type="text" class="form-control" name="search_title" value="{{ $search_title }}"> </div> <div class="col-md-2"> {{ csrf_field() }} <input type="submit" class="btn btn-primary" value="検索"> </div> </div> </form> </div> </div> <div> <!--ここに期限順のソートを入れる予定です。--> </div> </div>
下記コントローラーファイルです。
php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Task; use Illuminate\Support\Facades\Auth; class TaskController extends Controller { public function add() { return view('tasks.index'); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { $search_title = $request->search_title; if ($search_title != '') { // ユーザー情報持ってきて 関連するユーザーのタスク持ってきて その中からさらにタイトルで絞り込み $tasks = Auth::user()->tasks->where('title', $search_title); // $tasks = Task::where('title', $search_title)->get(); } else { // 入ってなければ全件取得 $tasks = Auth::user()->tasks; // $tasks = Task::all(); } return view('tasks.index', ['tasks' => $tasks, 'search_title' => $search_title]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return redirect('/tasks'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // session()->flash('flash_message', '投稿が完了しました'); echo "完了"; // データベースに登録できる処理入れる //mysqlでデータベースに保存されてるか確認 $task = new Task; $form = $request->all(); unset($form['_token']); $task->fill($form); // $task->deadline = '2022-01-01'; $task->user_id = $request->user()->id; $task->save(); return redirect('/tasks'); //select * from taskmanagement.tasks; } /** * 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(Request $request) { // Modelからデータの取得 $task = Task::find($request->id); // $task->status_id = 0; return view('tasks.edit', ['task_form' => $task]); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request) { // Modelからデータの取得 $task = Task::find($request->id); // 送信されてきたフォームデータの格納 $task_form = $request->all(); unset($task_form['_token']); //データの上書き $task->fill($task_form); // $task->deadline = '2022-01-01'; $task->save(); return redirect('/tasks'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function delete(Request $request) { // Modelからデータの取得 $task = Task::find($request->id); // 削除 $task->delete(); //戻る処理 return redirect('/tasks'); } }
Laravelの機能に関する質問でしたら質問タグに必要に思います。(PHPできる人がみんなLaravelもできるわけではないです)
まだ回答がついていません
会員登録して回答してみよう