У меня есть объект $trial
, который заполняется во время просмотра.Я хотел бы передать его в маршрут как POST для вызова функции, используя ее данные.Это для создания события для полного календаря.Я почти уверен, что сидел на этом так долго, что слишком задумался.
Хотел сделать это с помощью обратного вызова eventRender
, но не мог понять, как передать в него данные, попытался просто $.post
просто получить метод, не разрешенный или неизвестный статус в консоли.
У меня есть несколько фиктивных данных на данный момент.
Цель здесь - создать событие за отмеченный промежуток времени.
Функция контроллера для добавления новой записи в базу данных, если мне удастся передать данные
public function addEvent(Request $request)
{
//dd($request);
$event = new Event;
$event->title = $request['title'];
$event->start_date = $request['start_date'];
$event->end_date = $request['end_date'];
$event->save();
\Session::flash('success','Event added successfully.');
return redirect('/events');
}
web.php (маршрутизация)
Route::get('/events', 'EventController@index');
Route::post('/events', 'EventController@addEvent');
и затем есть индексфункция, над которой я сейчас работаю, чтобы изменить таблицу (сделать ее редактируемой и т. д.).
public $trial = [];
//
public function index()
{
$events = [];
$data = Event::all();
if($data->count()) {
foreach ($data as $key => $value) {
$events[] = Calendar::event(
$value->title,
true,
new \DateTime($value->start_date),
new \DateTime($value->end_date.' +1 day'),
null,
// Add color and link on event
[
'color' => '#f05050',
'url' => '/events',
]
);
}
}
$calendar = Calendar::addEvents($events) //add an array with addEvents
//->addEvent($eloquentEvent, [ //set custom color fo this event
//'color' => '#800',
//])
->setOptions([ //set fullcalendar options
'firstDay' => 1,
'selectable' => true,
'unselectAuto' => false,
'selectOverlap' => false,
'editable' => true,
'businessHours' => [
'dow' => [ 1, 2, 3, 4, 5 ],
'start'=> '08:00',
'end' => '19:00',
]
])->setCallbacks([ //set fullcalendar callback options (will not be JSON encoded)
'eventClick' => 'function(event) {
console.log("You clicked on an event with a title of: " + event.title);
}',
'select' => 'function(start, end) {
console.log("Selection start: " + start.format() + " selection end: " + end.format());
$trial = {
title: "rent",
start_date: start.format(),
end_date: end.format()
};
console.log($trial);
}',
]);
приветствуются любые предложения.
РЕДАКТИРОВАТЬ: как правило, практически единственный способ передать данные для использования в функциях контроллера - это передать их через форму