laravel 5.7 whereNull
Posted
技术标签:
【中文标题】laravel 5.7 whereNull【英文标题】: 【发布时间】:2019-07-06 06:38:15 【问题描述】:我想从特定列的值为 null 的数据库中获取数据,我从 laravel doc query builder 中搜索过说使用 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
【问题讨论】:
你能在你的数据库查询下添加一个 dd($pa) 并发布结果吗? MD.Sukel Ali 的回答很有效,谢谢 【参考方案1】:@foreach($pa as $data)
optional($data)->new
@endforeach
可选函数是一个很好的包装器,如果一个对象是空的,你从它访问的任何东西都是空的,否则它会正常输出。
但是,我想$data
是一个对象,因此您需要将其转换为字符串,或者将其放入 HTML,所以先这样做。
【讨论】:
【参考方案2】:问题不在您的 whereNull() 方法中。问题在你看来。
@foreach($pa as $data)
$data->column_name // you can't print an object instead print a string
@endforeach
【讨论】:
以上是关于laravel 5.7 whereNull的主要内容,如果未能解决你的问题,请参考以下文章