Я пытаюсь реализовать календарь событий внутри одного из моих компонентов vue в Laravel, но я не могу отобразить события в календаре из моей базы данных SQL. Хотя я могу просматривать столбцы моей таблицы, используя мой контроллер ресурсов.
Примечание: - Я использую вид маршрутизатора для отображения всего содержимого под идентификатором содержимого, чтобы не было шаблонов блейдов.
Любая помощь, пожалуйста!
Заранее спасибо.
Dashboard.vue
<template>
<full-calendar :config='config'>
</full-calendar>
</template>
<script>
export default{
data() {
return {
config: {
defaultView: "month"
},
methods:{
loadEvents() {
axios.get("api/event").then(({ data }) => (this.events = data));
}
},
created(){
this.loadEvents();
}
};
</script>
Controller type:resource
public function index()
{
$events = DB::table('events')->get();
$event = [];
foreach($events as $row){
$endDate = $row->end_date."24:00:00";
$event[] = \Calendar::event(
$row->event_title,
true,
new \DateTime($row->start_date),
new \DateTime($row->end_date),
$row->id,
[
'color'=>$row->color,
]
);
}
$calendar = \Calendar::addEvents($event);
return $events;
}
class CreateEventsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('events', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
$table->string('event_title');
$table->string('event_description');
$table->string('color');
$table->datetime('start_date');
$table->datetime('end_date');
$table->timestamps();
});
}
};