2017-06-30 4 views
1

これは私にとって本当に奇妙です。私は行からデータを表示するときに、いくつかのデータがエラーを返します。 idのデータは(1-7, 10, 13-17,22 and so)、データはid(8,9,11,12,18,19,20,21..)のエラーが返されます。laravelの特定のidのビューがエラーを返します

私がhttp://manajemenpasien.com/PasienPoli/17に行くと、私は期待したページを手に入れます。このhttp://manajemenpasien.com/PasienPoli/19に行くときには、私はこのエラーを取得:

public function show($id) 
{ 
    $pasienpoli = PasienPoli::find($id); 
    $pasien = Pasien::find($id)->PasienPoli; 

    return view('pasienpoli.show', compact('pasienpoli','pasien')); 
    } 

PasienPoli Model

ErrorException in Collection.php line 1564: 
Property [nama] does not exist on this collection instance. (View: D:\myProjects\manajemenPasien\resources\views\PasienPoli\show.blade.php) 

[nama]が、これは私がPasienPoliControllerに持っているものであるテーブルにpasiens

フィールド名です

public function pasien() 
{ 
    return $this->belongsTo('App\Pasien'); 
} 

Pasien Model

public function pasienpoli() 
{ 
    return $this->hasMany('App\PasienPoli'); 
} 

show.blade.php

<h2>{{$pasienpoli->pasien->nama}}</h2> 

pasien_polisの表構造:

id - int(10) - auto_increment 
polyclinic_id - int(11) 
pasien_id - int(11) 
penyakit - varchar(50) 

pasiensの表構造:

id - int(10) - auto_increment 
nama - varchar(50) 

何が問題なのですか?

答えて

1

ほとんどの場合、これらのIDはデータベースに存在しない可能性があります。あなたのデータベースをチェックするか、あなたのビューでコレクションを探して、何が起こっているのか調べてください。

+0

私はそれらをすべてチェックしました。 –

+0

あなたが持っているデータを見るためにdd($ pasienpoli) – kemika

+0

'id' = 10でddを取得します。データは' id' = 19でddになります。 –

1

はこれにあなたのコードを変更:idが存在しない

public function show($id) 
{ 
    if(($pasienpoli = PasienPoli::find($id)) == NULL) 
    return view('pasienpoli.notfound', []); 
    $pasien = Pasien::find($id)->PasienPoli; 

    return view('pasienpoli.show', compact('pasienpoli','pasien')); 
} 

場合は、別のビューまたは何をしたいを返すことができます。

+0

問題が見つかりました。私が '{{$ pasienpoli-> pasien-> nama}} 'に置き換えたときに、この値' {{$ pasien-> nama}} 'が表示された表示ページに隠れたフォームフィールドがあります。とにかくお時間をありがとう。 –

関連する問題