首次使用关系并有问题理解它。
我有一个Student
类和一个Course
模型类。学生可以参加很多课程。在Student
模型中我这样做:
public function course()
{
return $this->belongsTo('Course');
}
并在控制器中执行此操作:.$student->course()->course_title
它会出错:
FatalThrowableError in Model.php line 779:
Class 'Course' not found
我做错了什么?
答案 0 :(得分:0)
用它替换你的代码
public function course()
{
return $this->belongsTo(Course::class);
}
答案 1 :(得分:0)
确保Course
课程中的命名空间与“App \ Models'”匹配。您可能正试图访问"空"命名空间。
命名空间声明在类文件的顶部。例如:
Course.php:
namespace App\Models;
use Illuminate\Http\Request;
...
class Course extends Model { ... }
OtherClass.php
namespace App\Models;
use Illuminate\Http\Request;
...
class OtherClass extends Model {
...
public function course()
{
return $this->belongsTo('App\Models\Course')
}
}
请注意,在Course.php顶部声明的命名空间与提供给关系方法(返回)belongsTo()
的路径相匹配。您还可以向belongsTo方法提供Course::class
,但您需要在php类中导入该类use
。
我希望这有帮助!
答案 2 :(得分:0)
我遇到了同样的问题,我通过在模型顶部添加名称空间来解决它
对于你的情况,
use \App\Course ; // Your name space of your class in relation
希望这有助于他人
注意:我使用的是Laravel 5.0