我想从特定列的值为null的数据库中获取数据,我从laravel doc查询生成器中搜索说使用了whereNull,但我确实这样做了,但我收到了此错误消息
htmlspecialchars()期望参数1为字符串,给定对象 (视图: /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
答案 0 :(得分:1)
@foreach($pa as $data)
{{ optional($data)->new }}
@endforeach
可选函数对此是一个很好的包装,如果对象为null,则从该对象访问的任何内容均为null,否则它将正常输出。
但是,我想$data
是一个对象,因此您需要将其转换为字符串,或者将其转换为HTML,因此首先要这样做。
答案 1 :(得分:0)
问题不在您的whereNull()方法中。问题出在您看来。
@foreach($pa as $data)
{{ $data->column_name }} // you can't print an object instead print a string
@endforeach