Actualmente estoy mostrando un solo valor de objeto JSON en el calendario completo. También necesito mostrar el segundo objeto JSON.
<script> $(document).ready(function(){ var booking_details = @json($booking_details); // I need to display these json values also var test = @json($test); $("#calander").fullCalendar({ events: booking_details, eventColor: '#FF0000' }); }); </script>Este es el controlador en Laravel:
$booking_details = array(); $bookings = Booking::all(); foreach ($bookings as $booking) { $booking_details[] = [ 'title'=>$booking->room_number, 'start'=>$booking->checkin_date, 'end'=>$booking->checkout_date ]; } // this is testing purpose $test = array(); foreach ($bookings as $booking) { $test[] = [ 'title'=>$booking->room_number, 'start'=>$booking->checkin_date, 'end'=>$booking->checkout_date ]; }Estoy enviando los mismos datos con un nombre JSON diferente. Solo necesito cómo mostrar múltiples valores de objetos JSON en el mismo calendario.
Luego, debe agregar las dos matrices de eventos.
$("#calander").fullCalendar({ events: booking_details.concat(test), eventColor: '#FF0000' });¿Por qué no simplemente agregar todos los datos a la matriz $booking_details en el código PHP? Pero también, $test solo contiene exactamente los mismos datos que booking_details, entonces, ¿cuál es el punto? Tal vez ese es solo un mal ejemplo en la pregunta, ¿no puedo decirlo?
Pero de todos modos, si tiene dos fuentes de datos separadas que desea proporcionar como eventos, puede
use una matriz en PHP como sugerí anteriormente, o
concatenarlos en JavaScript como muestra la respuesta de IT Goldman, o
puede tenerlos como dos fuentes de eventos separadas, que puede configurar en fullCalendar a través de la opción eventSources , por ejemplo
$("#calander").fullCalendar({ eventSources: [ { "events": booking_details, "color": "red" }, { "events": test, "color": "blue" } ], });