首页 > 解决方案 > 如何修复完整日历

问题描述

不应该静态调用非静态方法 MaddHatter\LaravelFullcalendar\Calendar::addEvents() 我尝试使用 * composer dump-autoload * php artisan cache:clear *php artisan config:clear 没有帮助

事件控制器.php

use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Event;
use MaddHatter\LaravelFullcalendar\Calendar;


class EventsController extends Controller
{
    public function index(){
        $events = Event::get();
        $event_list = [];
        foreach ($events as $key => $event) {
            $event_list[] = Calendar::event(
                $event->event_name,
                true,
                new \DateTime($event->start_date),
                new \DateTime($event->end_date.' +1 day')
            );
        }
        $calendar_details = Calendar::addEvents($event_list);

        return view('events', compact('calendar_details') );
    }

日历.php

 public function addEvents($events, array $customAttributes = [])
    {
        foreach ($events as $event) {
            $this->eventCollection->push($event, $customAttributes);
        }

        return $this;
    }

有人可以帮助我吗?

标签: laravel

解决方案


您需要先创建一个日历实例

改变:

$calendar_details = Calendar::addEvents($event_list);
return view('events', compact('calendar_details') );

至:

$calendar_details = new Calendar($your_construction_parameters);
$calendar_details->addEvents($event_list);
return view('events', compact('calendar_details'));

推荐阅读