Laravelのapi.phpで実装した、ルーティングがあります。
そのルーティングにアクセスすると、アクセス自体はできるのですが、コントローラーで実装した処理を行いません。
DBからデータを取得してを返却するのですが、Chromeのjsonviewerで確認しようとしても空のデータのみを返します。
(ワークベンチでSQLで正常であることは確認済みです。)
【確認したこと】
・artisan の route:list でルーティングを確認しました。
・Docker環境で用意しているアクセスログを確認して、200正常コードが返っていることを確認しました。
・Docker環境で用意しているSQLログを確認すると、全く関係のないSQLが走っているのを確認しました。
今回なぜルーティングは成立しているが処理内で実装したSQLが走らないのかを、どなたか教えていただけると幸いです。
PHP
1 2Route::get('/cost/pl/{year}/{month}/', 'CostController@getPlCostData'); 3 4Route::post('/cost/store/', 'CostController@store'); 5 6Route::get('/cost/latest/', 'CostController@getLatestCostData'); 7 8Route::get('/cost/list/{year}/{month}/', 'CostController@getCostListMonth'); 9 10Route::get('/cost/list/{year}/{month}/{day}/', 'CostController@getCostListDay'); 11 12Route::get('/cost/detail/{id}/', 'CostController@getIndividualCostData'); 13 14Route::get('/cost/year/', 'CostController@getCostYear'); 15 16Route::get('/cost/month/', 'CostController@getCostMonth'); 17 18Route::get('/cost/{year}/{month}/{account}/', 'CostController@getAccountCostData'); 19 20Route::get('/cost/amounts/daily/{year}/{month}/', 'CostController@getDailyAmountCostData'); 21 22// 今回は下記のルーティングが反応しません 23Route::get('/cost/daily/{year}/{month}/', 'CostController@getDailyCostData'); 24// 今回は上記のルーティングが反応しません 25 26Route::put('/cost/edit/', 'CostController@edit'); 27 28Route::delete('/cost/delete/{id}/', 'CostController@delete');
PHP
1<?php 2 3namespace App\Http\Controllers; 4 5use App\Cost; 6use App\Account; 7use Illuminate\Http\Request; 8use DB; 9use Log; 10 11class CostController extends Controller 12{ 13 . 14 . 15 . 16 . 17 . 18 19 // 日別の経費計上合計金額を取得 20 public function getDailyAmountCostData($year, $month) { 21 $param = ['year' => $year, 'month' => $month]; 22 $lineGraphData = DB::select('SELECT day, sum(price) dayAmount FROM costs WHERE year = :year AND month = :month GROUP BY day', $param); 23 foreach ($lineGraphData as $key => $value) { 24 if ($key !== 0) { 25 $lineGraphData[$key]->dayAmount = $lineGraphData[$key-1]->dayAmount + $lineGraphData[$key]->dayAmount; 26 } 27 } 28 return $lineGraphData; 29 } 30 31 // 日別の経費計上金額の推移データの取得 32 public function getDailyCostData($year, $month) { 33 $param = ['year' => $year, 'month' => $month]; 34 $lineGraphData = DB::select('SELECT day, sum(price) dayAmount FROM costs WHERE year = :year AND month = :month GROUP BY day', $param); 35 return $lineGraphData; 36 } 37} 38
今回なぜルーティングは成立しているが処理内で実装したSQLが走らないのかを、どなたか教えていただけると幸いです。
何卒よろしくお願い申し上げます。
補足事項:
apiのルーティングを試しに、"/api/a/"でアクセスできるようにすると、理想の処理をしてくれました。
apiの命名にルールなどがLaravelにはあるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/19 22:55