ErrorException htmlspecialchars() 期望参数 1 为字符串,数组给定

ErrorException htmlspecialchars() expects parameter 1 to be string, array given

我想从数据库中获取数据 "report_to"。但是当我尝试在我的视图页面中打印变量时出现错误。据说“ErrorException htmlspecialchars() 期望参数 1 为字符串,数组给定。

这是我的控制器。

function editroledetails(Request $request)
    {
        $user = \Auth::user();
        $userphone = 0;
        $reportTo = DB::select(DB::raw("SELECT report_to FROM customer_type WHERE username='19331986' "));
        $data = [
            'editUsername' => $request->editUsername,
            'editNik' => $request->editNik,
            'editEmail' => $request->editEmail,
            'editRegIdentities' => $request->editRegIdentities,
            'editID' => $request->editID
        ];

        return view('editroledetails', compact('user', 'userphone', 'data', 'reportTo'));
    }

这是我的看法

<div class="alert alert-info">
            <h3>{{$reportTo}}</h3>
        </div>

我希望视图将显示变量 "Name",但我收到错误 htmlspecialchars() expects parameter 1 to be string, array given.

改变

$reportTo = DB::select(DB::raw("SELECT report_to FROM customer_type WHERE username='19331986' "));

$reportTo = DB::select(DB::raw("SELECT report_to FROM customer_type WHERE username='19331986' "))->get();

现在 $reportTo 是一个数组,您可能需要使用 @foreach@for。或者如果你确定你只会得到一条记录,你可以使用 first() like

$reportTo = DB::select(DB::raw("SELECT report_to FROM customer_type WHERE username='19331986' "))->first();

这意味着并且很明显 $reportTo 是查询的结果集,将您的查询更改为 $reportTo = DB::select(DB::raw("SELECT report_to FROM customer_type WHERE username='19331986' "))->first(); 然后访问您的数据库列 $reportTo['colname']

[已解决] 谢谢你的回答,我已经解决了

这是代码

<?php echo $reportTo[0]->report_to; ?>

This is print_r of $reportTo

This is my reference