Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
视图返回laravel中某些ID的错误_Laravel_Dynamic_Model_Controller_Laravel Blade - Fatal编程技术网

视图返回laravel中某些ID的错误

视图返回laravel中某些ID的错误,laravel,dynamic,model,controller,laravel-blade,Laravel,Dynamic,Model,Controller,Laravel Blade,这对我来说真的很奇怪。当我想显示行中的数据时,一些数据返回错误。 我只能查看id为的数据s(1-7、10、13-17、22等),id为的数据(8,9,11,12,18,19,20,21…)返回错误 如果我转到http://manajemenpasien.com/PasienPoli/17,我得到了我想要的页面。但是当转到此http://manajemenpasien.com/PasienPoli/19,我收到以下错误: ErrorException in Collection.php line

这对我来说真的很奇怪。当我想显示行中的数据时,一些数据返回错误。 我只能查看id为
的数据
s
(1-7、10、13-17、22等)
,id为
的数据
(8,9,11,12,18,19,20,21…)
返回错误

如果我转到
http://manajemenpasien.com/PasienPoli/17
,我得到了我想要的页面。但是当转到此
http://manajemenpasien.com/PasienPoli/19
,我收到以下错误:

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]
是表
pasiens

这是我在
PasienPoliController
中看到的:

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

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

public function pasien()
{
    return $this->belongsTo('App\Pasien');
}
public function pasienpoli()
{
    return $this->hasMany('App\PasienPoli');
}
Pasien
型号

public function pasien()
{
    return $this->belongsTo('App\Pasien');
}
public function pasienpoli()
{
    return $this->hasMany('App\PasienPoli');
}
show.blade.php

<h2>{{$pasienpoli->pasien->nama}}</h2>
pasiens
的表结构:

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

这有什么问题?

这些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'));  
}

如果id不存在,您可以返回另一个视图或您想要的内容。

我已经检查了它们,它们都存在。dd($pasienpoli)要查看您获得的数据,请使用
id
=10我获取数据,使用
id
=19的dd表示为空。抱歉
id
=19为空,
id
=9在模具转储中显示结果。但是当'id=10显示数据时删除
dd()
时出错。我发现了问题。在show页面中有一个隐藏的字段表单,它的值是
{{$pasien->nama}
当我替换为
{{$pasienpoli->pasien->nama}
时解决的。无论如何,谢谢你抽出时间。我发现了问题。在show页面中有一个隐藏的表单字段,它的值是
{{$pasien->nama}
当我用
{{$pasienpoli->pasien->nama}
替换它时解决的。无论如何,谢谢你抽出时间。