Ich habe zwei Modelle Company
und Employee
, mit Tabellen in MySQL entspricht, companies
und employees
.
Ich habe diese Many-to-One-Beziehungen definiert:
Im Company
Modell:
public function employees(){
return $this->hasMany('App\Employee','company');
}
Im Employee
Modell:
public function company(){
return $this->belongsTo('App\Company','company');
}
company
oben in den Verfahren ein vorzeichenloser ganzzahliger Fremdschlüssel in der Tabelle employees
.
In basteln habe ich versucht $company->employees;
, die eine Liste aller Mitarbeiter in der ausgewählten Firma zurückgibt. Allerdings, wenn ich $company->employees->id
tun, um die IDs aller Mitarbeiter nur zu bekommen und nicht die anderen Reihen, es gibt mir den Fehler:
PHP error: Undefined property: Illuminate\Database\Eloquent\Collection::$id on line 1
Das funktioniert, könnten Sie bitte die Listen-Methode ein wenig erklären? Vielen Dank! – omrakhur
Was ich auch verwirrt bin, ist, dass "id" eine Eigenschaft ist, wie es ein Feld auf dem Tisch ist, oder ist es nicht? – omrakhur
Sicher, die Funktion [lists] (https://laravel.com/docs/4.2/queries#selects) gibt ein Array zurück, das alle Ihre IDs enthält. "Id" ist in der Tat eine Eigenschaft, aber Ihre Ergebnisse sehen ein bisschen so aus $ x = array (array ('id' => 1)); ', Sie haben versucht,' $ x ['id'] 'zu machen, während der' id' Wert tatsächlich in '$ x [0] ['id war '] ' – Neat