我正在尝试使用View :: share将数据传递给我的所有视图。我所做的就是在我的AppServiceProvider
上public function boot()
{
$stok = Produk::where('jumlah_stok', 0);
View::share('stok', $stok);
}
当我试图在我的观点上查看它时。它显示错误,如htmlspecialchars() expects parameter 1 to be string, object given (View: E:\xampp\htdocs\sippo\resources\views\master.blade.php)
<ul class="nav">
@if(Auth::user()->admin==0)
<li><a href="/"><i class="lnr lnr-home"></i><span>Dashboard{{$stok}}</span></a></li>
我错了还是我还应该做些什么?
答案 0 :(得分:1)
这有一些问题。
第一名:
通过执行此操作:Produk::where('jumlah_stok', 0)
您将获得一个查询构建器对象。我假设你想要一条记录,所以你应该这样做:Produk::where('jumlah_stok', 0)->first()
第二名:
当您尝试在视图中使用变量时,使用双括号({{$stok}}
)。 Laravel将清理此输入,并尝试强制通过htmlspecialchars()
,这将无效,因为htmlspecialchars()
需要一个字符串,而现在,您正在为它提供一个查询构建器对象。如果您希望在视图中使用未经过处理的变量,请使用以下语法:{!! $stok !!}
。
第三名:
即使你要更新以前的所有内容,你很可能仍然不会得到想要的结果,因为你会将一个集合回显给一个视图。现在,我不知道数据库表的结构,但是假设Product
表有一行名为name
,您必须在视图中执行以下操作:{{1} }(* {{ $stok->name }}
也可以使用,但它会被取消确定。
希望这有帮助。干杯!