Betrachtet sie ein Modell Mitarbeiter und ein Modell ProjektLaravel/Lumen -, die eine Beziehung mit Parametern
Die Mitarbeiter Tabelle eine Eigenschaft Typen hat, den folgenden Wert „1“ zugeordnet werden kann, "2", "3" usw.
Projekt hasMany Mitarbeiter
public function programmers() {
return $this->hasMany('App\Employee')
->where('type', '1');
} // hasMany programmers
public function testers() {
return $this->hasMany('App\Employee')
->where('type', '2');
} // hasMany testers
public function managers() {
return $this->hasMany('App\Employee')
->where('type', '3');
} // hasMany managers
Anstelle dieser Beziehungen, ich würde nur eine haben wollen:
public function employees($type_id) {
return $this->hasMany('App\Employee')
->where('type', $type_id);
} // hasMany employees
Es würde so funktionieren:
$app->get('/employee', function() {
$project = App\Employee::find(1);
return $project->employees("1");
});
Ich bin jedoch die folgende Ausnahme erhalten:
ErrorException in Response.php line 402:
Object of class Illuminate\Database\Eloquent\Relations\HasMany could not be converted to string
Danke, auch für die ausführliche Erklärung –