質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

3259閲覧

Fullcalendarのデータベースからイベントを取得ができません。

TBT0414

総合スコア1

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/07/24 17:19

前提・実現したいこと

FullcalendarとLaravelを使い、MySQLに保存したデータをJSON形式で取得しカレンダー内の日付に表示をさせようとしています。
EventController内のindexメソッド内でDB::ファサードを使いajaxでMySQLに保存したデータをJOSN形式に変換してFullcalendarのeventsプロパティで表示をさているのですが、エラーが発生し表示ができない状態です。
calendar下部に簡単な登録フォームを用意してそこからMySQLへの登録は確認できています。
初学者なため、間違い等指摘していただけると幸いです。よろしくお願いいたします。

発生している問題・エラーメッセージ

main.min.js:6 GET https://c38b1cf516fd450bbecf28e6a14680af.vfs.cloud9.ap-northeast-1.amazonaws.com/EventController.php?start=2021-06-27T00%3A00%3A00%2B09%3A00&end=2021-08-08T00%3A00%3A00%2B09%3A00 {message: "Request failed", xhr: XMLHttpRequest} message: "Request failed" xhr: XMLHttpRequest {onreadystatechange: null, readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …} __proto__: Object

該当のソースコード

〇calendar.blade.php

php

1<head> 2-- //読み込みCDNなどの記載ののため省略 -- 3<script> 4 document.addEventListener('DOMContentLoaded', function() { 5 const calendarEl = document.getElementById('calendar'); 6 const calendar = new FullCalendar.Calendar(calendarEl, { 7 locale: 'ja', 8 buttonIcons: false, 9 buttonText: { 10 prev: '先月', 11 next: '翌月', 12 today: '今日' 13 }, 14 headerToolbar: { 15 left: 'prev,next today', 16 center: 'title', 17 }, 18 dayCellContent: function (e) { 19 e.dayNumberText = e.dayNumberText.replace('日', ''); 20 }, 21 events: { 22 url: '/EventController.php', 23 type: 'POST', 24 } 25 }); 26 calendar.render(); 27 }); 28 29 </script> 30

〇EventController.php

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Diary; class EventController extends Controller { public function index(Request $request) { if($request->ajax()) { $data = DB::table('diaries')->select('title', 'start', 'word', 'other', 'file_name')->get(); return response()->json($data); } return view('/calendar'); }

〇web.php

Route::get('/', 'EventController@index'); Route::post('/event.store', 'EventController@store');

補足情報(FW/ツールのバージョンなど)

〇MySQLの状態
+----+------------+-------+------+-------+-----------+---------------------+---------------------+
| id | start | title | word | other | file_name | created_at | updated_at |
+----+------------+-------+------+-------+-----------+---------------------+---------------------+
| 1 | 2021-07-21 | test | test | test | test | 2021-07-20 23:38:54 | 2021-07-20 23:38:54 |
| 2 | 2021-07-20 | test | test | test | test | 2021-07-20 23:39:20 | 2021-07-20 23:39:20 |
| 3 | 2021-07-25 | test | test | test | test | 2021-07-25 00:50:25 | 2021-07-25 00:50:25 |
+----+------------+-------+------+-------+-----------+---------------------+---------------------+

・Fullcalendar ver 5.8.0
・Laravel ver 6.20.30

urlの指定は間違っていないと思うのですが、GETでエラーがでているためindexメソッド内のJSON方法が間違っているのかなとおもうのですが、下記参考サイトを参考にさせていただいているのですが、解決しませんでした。
お手数おかけしますが、ご教授の程よろしくお願いいたします。
参考サイト:https://qiita.com/yuzuyuzu0830/items/20627eb9dbac7c29dc50

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Laravelのバージョンは、なんでしょうか?
Laravel8なら、web.phpの記述だとダメな気がします。
下記結果
Route::get('/user', [EventController::class, 'index']);
Route::get('/event/store', [EventController::class, 'store']);

投稿2021/08/13 10:10

編集2021/08/13 10:15
uhoenginia

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TBT0414

2021/08/13 13:22

回答ありがとうございます。 Laravelのバージョンは6.20.30になります。
uhoenginia

2021/08/13 13:45

EventController.phpでLog::info($data); calendar.blade.phpでconsole.log(calendarEl );→見れない? 上記の結果を教えてください。 一旦ですが、参考にされているものを単体で動かしてみるのもありかもです。
TBT0414

2021/08/13 13:47

ありがとうございます。 いただいたコード参考にして実行してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問