いつもお世話になってます。質問させてください。
Laravel5.4を使ってCMSを作っているのですが、
カレンダーのような連続した日付のビューの日付データの生成の仕方に困っています。
やりたいことは
・コントローラーで一定範囲の連続した年ごと、月ごとのデータを生成
・それに記事のデータをjoinし、Viewに渡したい
という感じです。
例えば2017から前後20年ずつ1997~2037というデータを作りそれを主キーにして、
記事のcreated_atでjoinして作生年月日が当年、当月に当たる記事があればjoinで紐づけて表示。
なければ日付の表示だけという処理がしたいと思っています。
記事のデータを
Articles table : Id, created_at, create_year, create_month, user_id, title, note, deleted_at
というような構造で持っています。
これと生成した日付データを紐づけて、viewに渡したいと考えており、
下記のように生成した$yearsをviewに渡しカレンダーのような画面に、
記事がある月は記事のリスト、ない月は記事作成処理へのリンクという画面が作りたいと考えています。
その場合
$this_year = Carbon::now()->year; $years = xxxx::where(‘$tihs_yearから前後20年を何かで生成) ・・・① ->leftJoin(生成した日付データとArtclesのcreate_year、create_monthで結合) ->select(必要なデータを抽出) ->get();
というようなやり方でできないかなと思っているのですが、
①のところで何か使えるツールがないかなというのが質問になります。
Carbonなどでeloquentに渡せる連続した年のデータを取得できるのでしょうか?
もしくは他のやり方で良いものがあればぜひご教示いただければ幸いです。
よろしくお願い申し上げます。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/15 15:43
2017/10/15 16:27 編集
2017/10/15 16:31