2016-04-18 38 views
1

なぜこのようなことが起こったのか分かりません。私は見解を返そうとしますが、ラベールは私が定義しなかった別の見方を探します。別のエラーはlaravelが定義した変数を探しますが、未定義の変数が発生します。私は未定義のビューのためのララベルの外観のためにこれが起こると思います。Laravel非オブジェクトのプロパティを取得しようとしていますエラー

これは私のルートです。そのことについてPHPコード:

Route::get('/{kategori}', 'front\[email protected]'); 
Route::get('/{kategori}/{haber}/{id}', 'front\[email protected]'); 

そして、私はこれらのコードのlaravelは、このエラーを与えるしようとすると、これはHaberController

public function haber($kategoriSlug = "Genel", $haberSlug , $id = 0) 
{ 
    GoruntulenmeSayaci::sayaciArtir($this->haberVeriTuruId, $id) ; 
    if(Cache::has('haberDetay'.$id)){ 
     return Cache::get('haberDetay'.$id); 
    } else { 
      if($id != 0 && is_numeric($id)){ 
       if(isset (session('yetki')->haber) && session('yetki')->haber > 1){ 
        $haber = DB::table('haberler')->where("id", $id)->first(); 
       }else{ 
        $haber = DB::table('haberler')->where("id", $id)->where("aktif_pasif", 1)->first(); 
       } 

      }else{ 
       return false;  
      } 

      $anasayfaUstKutu = self::getAnasayfaUstKutu(); 
      $anasayfaSlider = self::getAnasayfaSlider(); 
      $kategori = DB::table('kategoriler')->where("slug", $kategoriSlug)->where("veri_turu_id", $this->haberVeriTuruId)->first(); 
      $anasayfaGrid = self::getAnasayfaGrid(); 
      $anasayfaVideolar = self::getAnasayfaVideolar(); 
      $anasayfaGaleriler = self::getAnasayfaGaleriler(); 
      $reklamlar = self::getReklamlar(); 
      $sonuc = view("front.haber.detay", [ 
               "anasayfaUstKutu" => $anasayfaUstKutu, 
               "anasayfaSlider" => $anasayfaSlider, 
               "anasayfaVideolar" => $anasayfaVideolar, 
               "anasayfaGaleriler" => $anasayfaGaleriler, 
               "anasayfaGrid" => $anasayfaGrid, 
               "haber" => $haber, 
               "kategori" => $kategori, 
               "reklamlar" => $reklamlar 


              ]); 



Cache::put('haberDetay'.$id , $sonuc->render(), $this->cacheSuresi); 
      return $sonuc; 
    } 
} 

に私の関数である。

Undefined variable: reklamlar (View: /home/yazilim/resources/views/front/haber/kategori.blade.php)

+0

'$ reklamlar = self :: getReklamlar();'の後に 'dd($ reklamlar)'を追加すると、何が表示されますか? –

+0

私はそれを試みましたが、同じエラーが表示されました。私のプロジェクトはhome/yazilimのパスにはありませんが、laravelはこのパスを探しています。なぜこれが起きているのかわかりません。それについてのどんな考えですか? –

+0

アプリのパスとは何ですか? –

答えて

1

変数 'reklamlar' でありますあなたのkategori.blade.phpファイルに見つかりません。

あなたはどこから見ていますか?変数にビューを渡していますか?

など。

return View::make('front.haber.kategori')->with('reklamar', null);

+0

はい、私は配列を使って変数を与えます。 –

0

まず第一に、それがOKであれば、その後、上記のようなコードの最後の行を編集しようと、どのような値self::getReklamlar()リターンをご確認ください。

$sonuc = view("front.haber.detay", [ 
    "anasayfaUstKutu" => $anasayfaUstKutu, 
    "anasayfaSlider" => $anasayfaSlider, 
    "anasayfaVideolar" => $anasayfaVideolar, 
    "anasayfaGaleriler" => $anasayfaGaleriler, 
    "anasayfaGrid" => $anasayfaGrid, 
    "haber" => $haber, 
    "kategori" => $kategori, 
    "reklamlar" => $reklamlar 
])->render(); 



Cache::put('haberDetay'.$id , $sonuc, $this->cacheSuresi); 

return $sonuc; 
+0

私はそれを試みましたが、同じエラーが発生しました。私は家を使用しない/ yazilimパスあなたはこのエラーがそれについてあることができると思いますか? –

+0

パスが正しく見える –

+0

エラーメッセージが表示されましたか?私のプロジェクト名はhome/yazilimではありません –

関連する問題