2017-05-27 16 views
1

私はすべてのビューにデータを渡すためにView :: shareを使用しようとしています。私がしているのは、私のAppServiceProviderのこのようなものです。LaravelでView :: shareを使用する5.3

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> 

は私が間違っているか、私がすべき何か他のものがあるようにそれがエラーを示して?

答えて

1

これにはいくつか問題があります。

ナンバー1:これを行うことにより、

Produk::where('jumlah_stok', 0)クエリビルダオブジェクトを取得しています。あなたが行う必要がありますので、私は、あなたが1つのレコードをしたいと仮定します。Produk::where('jumlah_stok', 0)->first()


ナンバー2:

をあなたのビューで変数を使用しようとすると、二重括弧({{$stok}})を使用します。 Laravelはこの入力をサニタイズし、htmlspecialchars()を強制的に実行しようとします。htmlspecialchars()には文字列が必要なので、これは動作しません。そして、今はクエリビルダオブジェクトに入力しています。ビュー内で非初期化変数を使用する場合は、次の構文を使用します。{!! $stok !!}


番号3:

あなたはエコーよので、あなたが以前のものの両方を更新していたとしても、あなたが最も可能性の高い、まだ、希望の結果に終わるではないだろうコレクションをビューに追加します。今、あなたのデータベーステーブルの構造はわかりませんが、Productテーブルにnameという行があるとすると、あなたのビューでは次のようにしなければなりません:{{ $stok->name }}(* {!! $stok->name !!}でも動作します非衛生的でなければならない)。

これが役に立った。乾杯!

+0

ありがとう –

関連する問題