Here's the code I use at the moment. It works fine for the following process: -ticket event created -ticket replie created -ticket closed (ticket event created)
When I make some more ticket_replies between open & close process it fails. Any idea why?
code:
class ticketHelper
{
var $ticket_replies;
var $ticket_events;
function orderReplies()
{
$ticket_replies = $this->ticket_replies;
$ticket_events = $this->ticket_events;
$events_replies = $ticket_events->merge($ticket_replies)->sortByDesc('created_at');
$filtered = $events_replies->sort(function($itemA, $itemB)
{
echo $itemA->created_at . "<br>";
if($itemA->created_at == $itemB->created_at)
{
if(is_a($itemA,'ticket_event'))
{
return true;
}
else
{
return false;
}
}
else
{
return (($itemA->created_at >= $itemB->created_at) && ($itemA->created_at <= $itemB->created_at));
}
});
dd($filtered);
return $filtered;
}
}
call:
$ticket_replies = Ticket_replie::where('ticket_id',$id)->get();
$ticket_events = Ticket_event::where('ticket_id',$id)->get();
$ticketHelper = new \ticketHelper();
$ticketHelper->ticket_replies = $ticket_replies;
$ticketHelper->ticket_events = $ticket_events;
$ticket_replies = $ticketHelper->orderReplies();