【发布时间】:2017-11-09 20:56:33
【问题描述】:
我的项目在本地主机上运行良好,但在服务器上,仅在课程页面上出现错误。
主题模型是
class Subjects extends Model
{
public function category()
{
return $this->belongsTo('Lea\Category');
}
public function lesson()
{
return $this->hasMany('Lea\Lessons');
}
public function chapter()
{
return $this->hasMany('Lea\Chapters');
}
public function users()
{
return $this->belongsToMany('Lea\User', 'subject_user', 'subject_id', 'user_id');
}
}
课程模型是
class Lessons extends Model
{
public function chapter()
{
return $this->belongsTo('Lea\Chapters');
}
public function subject()
{
return $this->belongsTo('Lea\Subjects', 'subject_id');
}
public function category()
{
return $this->belongsTo('Lea\Category');
}
}
我的控制器课程有如下方法索引。
public function index()
{
$lessons = lessons::orderBy('id', 'asc')->paginate(5);
return view('admin.lessons.index')->withLessons($lessons);
}
我调用主题名称的方式如下所示。第一个主题是关系主题,第二个主题是主题名称保存在数据库中的字段名称。使用 foreach 获取如下数据:
@foreach ($lessons as $lesson)
{{$lesson->subject->subject}}
@endforeach
科目表架构是
id
subject
admin_id
users_id
category_id
created_at
updated_at
课程表架构是
id
title
slug
category_id
subject_id
chapter_id
users_id
content
image
【问题讨论】:
-
表中的字段名称是什么?您是否可能遵循与 subject_id 和 subject_user 相同的逻辑,并实际将字段命名为“subject_name”?问题似乎在您的主题表中
-
如果字段名有问题,那么它应该给我一些 json 输出,把这个代码 {{$lesson->subject}} 但我在服务器上得到 null 但在 localhost 上得到 json
-
您是否通过控制器将 $lesson 对象持久化到您的视图中?
-
这个错误可能发生的级别太多了,所以如果我们要找到问题,您必须提供所有代码
-
我用控制器和视图编辑了我的问题
标签: laravel server relationship