首页 > 解决方案 > 值为 null 的对象属性被视为 ''

问题描述

我有一组代码,我使用 eloquent 从数据库中检索数据

控制器

       $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();

然后将变量返回到刀片文件

  return view('ticket-dashboard/dashboard', compact('display_tickets'));

在刀片文件上,对于我收到的每张票,我都会在表格中显示它们。但是,当属性 $display_tickets['ticket_flow_id'] 为 null 时,当它实际持有 null 值时,它被视为刀片文件上的 ' '。这是为什么???

@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>

在此处输入图像描述

控制器代码

 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));

在此处输入图像描述

标签: javascriptphphtmllaravel

解决方案


远射,但你试过这个:

{!! $p['ticket_flow_id'] !!}

默认情况下{{}},通过 PHP 传递字符串,htmlspecialchars您可能会得到预期的结果,尽管将其打开到 XSS


推荐阅读