【发布时间】:2017-12-30 19:27:39
【问题描述】:
即使我已从 doctorAppointment 模型中的表中检索数据,然后将其传递给控制器,然后控制器将其进一步传递给查看,我仍然在 View 中收到此未定义变量的错误。
这是模型
<?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', 'AppointmentController@GetAppointment');
【问题讨论】:
-
我在控制器中使用这个语句来访问模型使用App\doctorAppointment
-
你的类命名约定是错误的。类名的第一个字母必须是大写字母,即
DoctorAppointment。在GetAppointment中执行此操作:return view('dashboard')->with('appointments', $doctorAppointment); -
@Regolith 更正了建议的命名约定,但仍然无法正常工作,将医生约会重命名为 DoctorAppointment 并在所有其他文件中也将其重命名
-
能否尝试dump控制器中的数据以确保有数据?尝试在
$doctorAppointment = doctorAppointment::all();之后使用dd($doctorAppointment);。因为除了你没有遵循约定,你还没有为 laravel 模型定义 table_name。另一件事是您必须通过类型use App\doctorAppointment;在控制器标题中导入模型文件 -
我在控制器中导入了模型,我只是忘记粘贴该语句。我将其导入为使用 App\DoctorAppointment