使用函数从Parent表中获取ID

时间:2014-12-15 23:27:42

标签: php laravel laravel-4

我使用Laravel构建应用程序。 我有一个表格课程的模型Course。它idcode都是唯一的。

有时,我通过code来验证某些事情。但总是我必须使用id获得该课程的code

我在Course模型中编写了一个函数。

public function getCourseId($code){
    return Course::where('code', $code)->pluck('id');
}

但是当我尝试调用该函数时,我没有这个类的对象。我只有code,这是表courses

的一列

我试图致电$code->getCourseId($code);

但我知道这不对。有没有其他方法只用$code调用此函数?

1 个答案:

答案 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);