如何在find函数中更改参数名称?

时间:2017-12-14 12:18:45

标签: php laravel eloquent

public function show($courseid)
{
     $course = course::find($courseid) ;
    return view('admin/showc')->withCourse($course);         

}

我对find功能有疑问,它使用$couseid作为$id进行搜索,而我在数据库中没有$id

我有这个错误:

  

Illuminate \ Database \ QueryException(42S22)SQLSTATE [42S22]:列不   发现:1054'where子句'中的未知列'courses.id'(SQL:select   *来自courses coursesid = cmpe102限制1)

2 个答案:

答案 0 :(得分:3)

find()函数使用表的主键。默认情况下,Eloquent认为//messages<br/> error.format = Enter {0,choice,1#FIRST NAME in half-width alphanumeric|2#EMAIL in valid format.} 是任何表的主键。如果不是这种情况,则必须使用id在模型中定义主键列。

$primaryKey

答案 1 :(得分:1)

设置primaryKey属性的替代方法是使用where()方法first(),因为find()只是一个快捷方式:

->where('course_id', $courseId)->first()