Benutzer-Werkzeuge

Webseiten-Werkzeuge


laravel:relationships

Dies ist eine alte Version des Dokuments!


Beziehungen zwischen Tabellen und Objekten

Beziehungs-Typ Fremdschlüssel Methode
1:1 in eigene Tabelle belongsTo
1:1 in Fremdtabelle hasOne
1:n in eigene Tabelle hasMany
1:n in Fremdtabelle belongsTo
n:m in eigene Tabelle belongsToMany
n:m in Fremdtabelle belongsToMany

Beispiel:

Für dieses Beispiel muss die Tabelle „user“ über ein Integer-Feld „Hobby_id“ verfügen und die Tabelle „Hobbies“ muss ein Integer-Feld namens „user_id“ besitzen.

Ein User kann mehrere Hobbys haben:

Hobby.php
namespace Model;
 
use Illuminate\Database\Eloquent\Model as Eloquent;
 
class Hobby extends Eloquent
{
 
    public $table = 'hobbies';
 
    public function users()
    {
        return $this->hasMany('\Model\User');
    }
}
users.php
namespace Model;
 
use Illuminate\Database\Eloquent\Model as Eloquent;
 
class User extends Eloquent
{
 
    public function hobbies()
    {
        return $this->belongsToMany('\Model\Hobby');
    }
}

Neues Hobby anlegen und einem User zuordnen

$Hobby = new Hobby( array( 'name', 'Tischtennis' ) );
$user = User::where( 'vorname' => 'sven' );
$user->Hobbies->save( $user );
laravel/relationships.1567628232.txt.gz · Zuletzt geändert: 2019/09/04 22:17 von webproducer