如何在 Laravel 5.2 中修复 blade.php 中的 ErrorException
How to fix ErrorException in blade.php in Laravel 5.2
需要在我的 laravel 应用程序中使用 user_id
in File
table 打印用户名。这是 User
模型和 File
模型之间的关系。
文件模型
public function user()
{
return $this->belongsTo(User::class);
}
这是blade文件
@if($files)
@foreach( $files as $file)
<div>
<div>
<span>
{{ $file->user->name }} //line 16
</span>
</div>
</div>
@endforeach
@endif
控制器
class PfilePDFController extends Controller
{
public function getPFPDF($id){
$files = File::where('project_id',$id)->get();
$pdf = PDF::loadView('pdf.projectfiles',['files'=>$files]);
return $pdf->stream('projectfiles.pdf');
}
}
但是出现这个错误:
ErrorException in bd52d760518dfb36a05daedee198eefcb7b87914.php line 16: Trying to get property of non-object (View: C:\Users\dnk\Desktop\acxian\resources\views\pdf\projectfiles.blade.php)
如何解决这个问题?
可能 user_id
是 null
或拥有无效用户 id
和 $file->user
returns null
。所以,您正在尝试从 null 中获取名称。
避免这种情况的一个好方法是在您的代码中使用 or
。例如:
{{ $file->user->name or '-' }}
如果行中的任何信息是 null
,这将打印 -
。
需要在我的 laravel 应用程序中使用 user_id
in File
table 打印用户名。这是 User
模型和 File
模型之间的关系。
文件模型
public function user()
{
return $this->belongsTo(User::class);
}
这是blade文件
@if($files)
@foreach( $files as $file)
<div>
<div>
<span>
{{ $file->user->name }} //line 16
</span>
</div>
</div>
@endforeach
@endif
控制器
class PfilePDFController extends Controller
{
public function getPFPDF($id){
$files = File::where('project_id',$id)->get();
$pdf = PDF::loadView('pdf.projectfiles',['files'=>$files]);
return $pdf->stream('projectfiles.pdf');
}
}
但是出现这个错误:
ErrorException in bd52d760518dfb36a05daedee198eefcb7b87914.php line 16: Trying to get property of non-object (View: C:\Users\dnk\Desktop\acxian\resources\views\pdf\projectfiles.blade.php)
如何解决这个问题?
可能 user_id
是 null
或拥有无效用户 id
和 $file->user
returns null
。所以,您正在尝试从 null 中获取名称。
避免这种情况的一个好方法是在您的代码中使用 or
。例如:
{{ $file->user->name or '-' }}
如果行中的任何信息是 null
,这将打印 -
。