我使用Laravel构建应用程序。
我有一个表格课程的模型Course
。它id
和code
都是唯一的。
有时,我通过code
来验证某些事情。但总是我必须使用id
获得该课程的code
。
我在Course
模型中编写了一个函数。
public function getCourseId($code){
return Course::where('code', $code)->pluck('id');
}
但是当我尝试调用该函数时,我没有这个类的对象。我只有code
,这是表courses
我试图致电$code->getCourseId($code);
但我知道这不对。有没有其他方法只用$code
调用此函数?
答案 0 :(得分:1)
为了使其起作用,辅助函数必须是静态的,因为您不想在Course
的实例上调用它。试试这个:
public static function getCourseId($code){
$course = static::where('code', $code)->first();
if($course == null){
return null;
}
return $course->id;
}
并称之为:
$id = Course::getCourseId($code);
另外,在我看来,这个名字会更合适:
$id = Course::getIdByCode($code);