I have a set of code where I retrieve data from the database using eloquent
Controller
$display_tickets = ManualTicket::select('*')
->with('user')
->with('initiator')
->with('manual_ticket_log')
->where(function ($checkClients) use($target_client_id){
$checkClients->whereHas('user', function ($checkClient) use($target_client_id){
$checkClient->where('client_id', '=', $target_client_id);
})
->orWhereHas('initiator', function ($checkClient2) use($target_client_id){
$checkClient2->where('client_id', '=', $target_client_id);
});
})
->whereBetween('manual_tickets.created_at', [$start_date->toDateString(), $end_date->addDays(1)->toDateString()])
->orderBy("manual_tickets.created_at", "desc")->get();
The variable is then returned to the blade file
return view('ticket-dashboard/dashboard', compact('display_tickets'));
On the blade file, for each ticket that I receive I am displaying them in a table. However, when the property $display_tickets['ticket_flow_id'] is null, it is being regarded as ' ' on the blade file when it actually holds the value of null. Why is that???
@foreach($display_tickets as $p)
<table>
<th> ticket flow id </th>
<tr>
<td>
<script type="application/javascript">
console.log('{{$p['ticket_flow_id']}}');
var typee = '{{$p['ticket_flow_id']}}';
console.log(typeof typee);
</script>
</td>
Controller code
error_log(json_encode($display_tickets));
error_log("??salkag");
error_log(json_encode($display_tickets->ticket_flow_id));
error_log(gettype($display_tickets->ticket_flow_id));
Long shot but have you tried this :
{!! $p['ticket_flow_id'] !!}
By default {{}} passes the string through PHPs htmlspecialchars you might get your expected result although opens it up to XSS