2017-12-14 3 views
0
public function show($courseid) 
{ 
    $course = course::find($courseid) ; 
    return view('admin/showc')->withCourse($course);   

} 

Ich habe ein Problem mit der find Funktion, sucht es $couseid als $id verwenden und ich habe nicht $id in der DatenbankWie ändert man den Parameternamen in der Suchfunktion?

Ich habe diesen Fehler:

Illuminate\Database\QueryException (42S22) SQLSTATE[42S22]: Column not found: 1054 Unknown column 'courses.id' in 'where clause' (SQL: select * from courses where courses . id = cmpe102 limit 1)

+0

Sie besser sein könnte der mit ':: where' –

Antwort

3

Die find() Funktion verwendet der Primärschlüssel der Tabelle. Standardmäßig denkt Eloquent id ist der Primärschlüssel einer Tabelle. Wenn dies nicht der Fall ist, müssen Sie die Primärschlüsselspalte im Modell mit $primaryKey definieren.

class course { 
    protected $primaryKey = 'couseid'; 
} 
1

Eine alternative primaryKey Eigenschaft Einstellung where() mit first() Methoden verwendet, weil find() für nur eine Abkürzung:

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