首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel 5.7 whereNull

laravel 5.7 whereNull
EN

Stack Overflow用户
提问于 2019-02-12 15:07:15
回答 3查看 7K关注 0票数 1

我想从特定列值为null的数据库中获取数据,我从use whereNull搜索过,但是我得到了以下错误消息

htmlspecialchars()期望参数1为string,对象给定(View: /Applications/XAMPP/xamppfiles/htdocs/PROJECT/overtek/resources/views/pages/purchaseIndex.blade.php) )

这是我的控制器

代码语言:javascript
复制
public function index()
{
  $pa = DB::table('account_pay_ables')
                ->whereNull('invoice')
                ->get();
  return view('pages.purchaseIndex',['pa'=>$pa]);
}

我也尝试过同样的结果

代码语言:javascript
复制
$pa = DB::select("SELECT count(*) as new FROM account_pay_ables  WHERE invoice IS NULL");

现在我的purchaseIndex.blade.php就是这个

代码语言:javascript
复制
@foreach($pa as $data)
  {{ $data}}
@endforeach
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-02-12 16:54:14

代码语言:javascript
复制
@foreach($pa as $data)
  {{ optional($data)->new }}
@endforeach

可选函数是一个很好的包装器,如果一个对象为null,那么您从它访问的任何东西都是空的,否则它就会正常输出。

但是,我认为$data是一个对象,所以您需要将其转换为字符串,或者将其放入HTML中,所以首先这样做。

票数 1
EN

Stack Overflow用户

发布于 2019-02-12 15:12:20

whereNull()方法中没有问题。问题在你看来。

代码语言:javascript
复制
@foreach($pa as $data)
  {{ $data->column_name }} // you can't print an object instead print a string 
@endforeach
票数 0
EN

Stack Overflow用户

发布于 2022-07-05 09:34:24

实际上,Controller中的代码是正确的,问题在视图中。下次你可以一步一步地检查这个问题。例如,可以通过添加以下内容来停止请求

代码语言:javascript
复制
dump($pa); 

你可以看到数据是否正确。如果来自DB的数据是正确的,则将重点放在视图代码上。我希望这能让我感觉到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54653076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档