2017-07-25 26 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')); 
    } 
}