2016-04-18 9 views
0

Angenommen, ich habe ein Beitrag Modell durch diese Attribute:Save current user_id als Standardpostbesitzerfeld automatisch in Laravel eloquent Modelle

post_id 
title 
description 
owner  //=> type same as user_id of User Model 
created_at 
updated_at 

Und nun möchte ich owner Feld ausfüllen mit Strom (authentifizierte) Benutzer-ID store Aktion von PostConroller bei Verwendung Create Modell. (owner Wert nicht in $dataArray enthalten und automatisch user_id bekommen soll):

Post::create($dataArray) 

Gibt es eine Möglichkeit, das zu tun?

Antwort

2

Ich bin mir nicht sicher, was meinst du automatisch, aber Sie können user_id zu einem Array hinzufügen:

$dataArray['owner'] = $user_id; 
Post::create($dataArray); 

Aber in der Regel sind Sie Sammlungen zu verwenden, wenn neues Modell zu schaffen, so:

$dataCollection->put('owner', $user_id); 
Post::create($dataCollection); 

wird user_id zur Sammlung hinzufügen.

Vergessen Sie auch nicht, owner zu $fillable Array hinzuzufügen.

+0

Eigentlich will ich nicht 'Auth :: user() -> user_id' und halten Sie in' $ dataArray'. Ich möchte, dass es automatisch als Standardwert von "Eigentümer" Feld von aktuellen authentifizierten Benutzer-ID –

+0

gesetzt Kannst du bitte beschreiben, was genau du meinst automatisch? –

+0

Wenn Benutzer senden ein Formular enthält Werte von Post-Modell, füllen Sie das 'Besitzer'-Feld mit' user_id' dieses Benutzers. –