你好,我在将列'开始'和'end'事件中遇到了一些问题。我使循环及其工作,标题,日期在日历上显示,但时间不起作用。所有事件都是在Allday事件上设置的,但我设置了Allday False。我制作了创建表单和工作良好的事件制作并发送到数据库。但这表现确实很匿名。我尝试修复它,但我不知道我在哪里犯了错误。
控制器:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHomeModel;
use MaddHatterLaravelFullcalendarEvent;
use IlluminateSupportFacadesDB;
use DateTime;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return IlluminateHttpResponse
*/
public function index(){
$event = HomeModel::all();
foreach ($event as $eve) {
$events[] = Calendar::event(
$eve->title, //event title
$eve->name,
$eve->start, //start time (you can also use Carbon instead of DateTime)
$eve->end, //end time (you can also use Carbon instead of DateTime)
$eve->id //optionally, you can specify an event ID
);
//die($event);
}
$calendar = Calendar::addEvents($events)
->setOptions([
'FirstDay' => 1,
'contentheight' => 650,
'editable' => false,
'allDay' => false,
'aspectRatio' => 2,
'slotLabelFormat' => 'HH:mm:ss',
])->setCallbacks([]);
return view('home', compact('calendar'));
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('create');
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
$time = explode(" - ", $request->input('daterange'));
$event = new HomeModel;
$event->name = $request->input('name');
$event->title = $request->input('title');
$event->start = $time[0];
$event->end = $time[1];
$event->save();
$request->session()->flash('success', 'The event was successfully saved!');
return redirect('home/create');
}
}
型号:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class HomeModel extends Model
{
protected $table = 'events'; // you may change this to your name table
public $timestamps = true; // set true if you are using created_at and updated_at
protected $primaryKey = 'id'; // the default is id
}
查看:
@extends('layouts.app')
@section('content')
@endsection
@section('calendar')
<div class="panel panel-default" >
<div class="panel-body">
<a class="btn btn-default" href="{{ url('/home/create') }}">Create</a>
<a class="btn btn-default" href="{{ url('/home/edit') }}">Edit</a>
<a class="btn btn-default" href="{{ url('/home/delete') }}">Delete</a>
</div>
</div>
<div class="panel-body">
{!! $calendar->calendar() !!}
{!! $calendar->script() !!}
</div>
</div>
@endsection
屏幕外观
在日期和时间的情况下..您可能想经过碳。
http://carbon.nesbot.com/docs/
它将帮助您以一种轻松的方式获得时间和日期,这将帮助您摆脱您正在做的所有笨拙的日期。
在您的情况下:
foreach ($event as $eve) {
$start_timestamp = Carbon::createFromFormat('d-m-Y h:i:s', $eve->start);
$end_timestamp = Carbon::createFromFormat('d-m-Y h:i:s', $eve->end);
$events[] = Calendar::event(
$eve->title, //event title
$eve->name,
$start_timestamp->toTimeString(), //start time (you can also use Carbon instead of DateTime)
$end_timestamp->toTimeString(), //end time (you can also use Carbon instead of DateTime)
$eve->id //optionally, you can specify an event ID
);
//die($event);
}