我想从特定列值为null的数据库中获取数据,我从use whereNull搜索过,但是我得到了以下错误消息
htmlspecialchars()期望参数1为string,对象给定(View: /Applications/XAMPP/xamppfiles/htdocs/PROJECT/overtek/resources/views/pages/purchaseIndex.blade.php) )
这是我的控制器
public function index()
{
$pa = DB::table('account_pay_ables')
->whereNull('invoice')
->get();
return view('pages.purchaseIndex',['pa'=>$pa]);
}我也尝试过同样的结果
$pa = DB::select("SELECT count(*) as new FROM account_pay_ables WHERE invoice IS NULL");现在我的purchaseIndex.blade.php就是这个
@foreach($pa as $data)
{{ $data}}
@endforeach发布于 2019-02-12 16:54:14
@foreach($pa as $data)
{{ optional($data)->new }}
@endforeach可选函数是一个很好的包装器,如果一个对象为null,那么您从它访问的任何东西都是空的,否则它就会正常输出。
但是,我认为$data是一个对象,所以您需要将其转换为字符串,或者将其放入HTML中,所以首先这样做。
发布于 2019-02-12 15:12:20
whereNull()方法中没有问题。问题在你看来。
@foreach($pa as $data)
{{ $data->column_name }} // you can't print an object instead print a string
@endforeach发布于 2022-07-05 09:34:24
实际上,Controller中的代码是正确的,问题在视图中。下次你可以一步一步地检查这个问题。例如,可以通过添加以下内容来停止请求
dump($pa); 你可以看到数据是否正确。如果来自DB的数据是正确的,则将重点放在视图代码上。我希望这能让我感觉到。
https://stackoverflow.com/questions/54653076
复制相似问题