Я использую fullcalendar на своем веб-сайте в laravel 5.6, и он работает :), но когда я меняю представление, у меня возникает эта проблема:
Undefined variable: calendar_details
На мой взгляд layout.app у меня есть это:
{!! $calendar_details->script() !!}
Могу ли я определить эту переменную во всех контроллерах и во избежание проблем?
Это мой EventsController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use App\Http\Controllers\Controller;
use Auth;
use Validator;
use App\Events;
use Calendar;
class EventsController extends Controller
{
public function index(){
$events = Events::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)
);
}
$calendar_details = Calendar::addEvents($event_list);
return view('events', compact('calendar_details'));
}
public function addEvent(Request $request){
$validator = Validator::make($request->all(), [
'event_name' => 'required',
'start_date' => 'required',
'end_date' => 'required',
]);
if ($validator->fails()){
\Session::flash('warning', 'Veuillez entrer des informations valide');
return Redirect::to('/events')->withInput()->withErrors('warning');
}
$event = new Events;
$event->event_name = $request['event_name'];
$event->start_date = $request['start_date'];
$event->end_date = $request['end_date'];
$event->save();
\Session::flash('success', 'Evènement ajouté avec succès');
return Redirect::to('/events');
}
}
и это мой Events.php:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Events extends Model
{
protected $fillable = [
'event_name', 'start_date', 'end_date'
];
}