2017-07-25 96 views
0

即使我已从doctorAppointment模型中的表中检索到数据,然后将其传递给Controller,然后控制器将其传递给进一步查看,我在View中收到了此未定义变量的错误。 这是模型未定义变量在laravel中加载视图

<?php 

    namespace App; 

    use Illuminate\Database\Eloquent\Model; 

    class doctorAppointment extends Model 
    { 
     public function user() 
     { 
      return $this->belongsTo('App\User'); 
     } 
    } 

这是我的控制器

class AppointmentController extends Controller 

{ 
     public function GetAppointment() 
     { 
     $doctorAppointment= doctorAppointment::all(); 
     return view('dashboard',array('appointments'=>$doctorAppointment)); 
     } 
    } 

这是我的看法

@foreach($appointments as $appointment) 
    <p>{$appointment->patientEmail}</p> 
@endforeach 

这是我的路线

Route::get('/dashboard', '[email protected]'); 
+0

我使用的控制器来访问这个说法模型使用App \ doctorAppointment –

+1

你的类命名约定是错误的。类名的第一个字母必须是大写字母,即'DoctorAppointment'。在'GetAppointment'中执行此操作:''return view('dashboard') - > with('appointmentments',$ doctorAppointment);' – Regolith

+0

@Regolith按照提议更正了命名约定,但仍然没有将DoctorAppointment重命名为DoctorAppointment,并将其重命名为所有其他文件 –

回答

0

使用这样

public function GetAppointment() 
{ 
    $doctorAppointment= doctorAppointment::all(); 
    return view('dashboard')->with('appointments', $doctorAppointment); 
} 
+0

即使在尝试上面提出的更改之后,它仍然会给出相同的错误。 –

0

你不觉得<p>标签值应该在双花括号内{{ }}

<p>{{ $appointment->patientEmail }}</p> 

编号:https://laravel.com/docs/5.4/blade#displaying-data

而对于不确定的情况下,尝试这样的:

<p>{{ $appointment->patientEmail or 'No Email'}}</p> 
+0

也用花括号尝试过。还有同样的错误 –

+0

'{{print_r($ appointmentments)}}'在@foreach之外做这个检查是否有数据来临 – Priya

+0

做到了这一点,但它仍然给未定义的变量:/ –

0

试试这个代码此帮助

class AppointmentController extends Controller 
{ 
    public function GetAppointment() 
    { 
    $appointments= doctorAppointment::all(); 
    return view('dashboard',compact('appointments')); 
    } 
}