2016-08-25 2 views
0

Ich möchte dieses Stück Code zu aktualisieren, wenn Sie ein verwandtes Modell (1 zu 1) auf Laravel aktualisieren und auch wissen, ob dies richtig, falsch, richtig, aber nicht empfohlen, etc. Vielen Dank .Aktualisierung gehört zu Beziehung Laravel 5.2

$user = User::find($id); 
    $user->name = $request->input('name'); 
    $user->email = $request->input('email'); 
    $user->update(); 

    $tenant = Tenant::where('user_id', $id)->first(); 
    $tenant->suite_number = $request->input('suite_number'); 
    $tenant->update(); 
+0

Haben Sie Probleme mit Ihrem Code? Sieht gut aus für mich. Sie könnten versuchen, '$ tenant = $ user-> tenant;'. –

Antwort

1

Zuerst würden Sie haben Beziehung von Benutzer zu definieren, und Mieter in Ihnen Benutzermodell:

Da dies ein eins zu eins Modell ist, können Sie Ihr verwandtes Modell wie folgt aktualisieren. Stellen Sie sicher, dass das Beziehungsmodell ebenfalls vorhanden ist.

$user = User::find($id); 
$user->name = $request->input('name'); 
$user->email = $request->input('email'); 
$user->tenant->suite_number = $request->input('suite_number'); 
$user->push(); 
0

ich glaube, es

// you can omit the input() if u want to 
$user = User::find($id); 
$user->update([ 
    'name' => $request->name; 
    'email' => $request->email;  
]); 

$tenant = Tenant::where('user_id', $id)->first(); 
$tenant->update([ 
    'suite_number' => $request->suite_number; 
]); 

für eager loading könnte es

$user = User::with('tenant')->find($id); 
$user->update([ 
    'name'    => $request->name; 
    'email'    => $request->email; 
    'tenant.suite_number' => $request->suite_number; 
]); 

oder Rückwärts Beziehung

$tenant = Tenant::with('user')->where('user_id', $id)->first(); 
$tenant->update([ 
    'suite_number' => $request->suite_number; 
    'user.name' => $request->name; 
    'user.email' => $request->email; 
]); 
Verwandte Themen