2017-02-18 4 views
0

に私自身のプロパティを設定するにはどうすればいいですか?ですが、新しい行/エントリを作成したときだけですか?セーブモデルのデフォルトuuidを設定する方法Laravel 5.3+?

例PHP:

class foo extends controller { 
    // .. 
    public function create() { 
     $user = new User(); 
     $user->name = 'Jack'; 
     $user->lastname = 'Smith'; 
     $user->save(); 
    } 
    // .. 
} 

モデル:

class User extends Model { 
    // ... 
    public function beforeSave() { 
     $this->token = uuid(); 
    } 
    // ... 
} 

表:

CREATE TABLE User 
    (
     `uuid` varchar(55), 
     `name` varchar(55) NOT NULL, 
     `lastname` varchar(55) NOT NULL, 
     primary key (`uuid`) 
    ) 
; 
+1

model observersを使用することができます。http://stackoverflow.com/questions/31817067/laravel-5-using-a -uuid-as-primary-key –

答えて

1

私は、モデル内の知っているように(メソッドの起動を追加)

public static function boot() 
{ 
    parent::boot(); 

    self::creating(function($model){ 
     // ... code here 
    }); 

} 

同じようthis solutionthis one

またはあなたはおそらく、このソリューションがあなたを助けるか、正しい方向を示します

+0

ありがとう、このLaravel 5.4の私の仕事;) –

関連する問題