динамическое значение в одном поле в базе данных mysql - PullRequest
0 голосов
/ 05 марта 2019

Я использую Laravel Framework. У меня есть два стола. пользователи и очки. который имеет отношение один ко многим между ними. В таблице точек сохранено много записей, относящихся к одному пользователю, которые сохраняют все ponits, которые мы назначаем этому пользователю. Я хочу сохранить сумму этих точек в одном поле как sumpoints, хранящиеся в таблице пользователя .how Могу ли я сделать это в Laravel

1 Ответ

0 голосов
/ 05 марта 2019

Сделайте что-нибудь подобное в своей модели очков:

public static function boot()
{
    parent::boot();
    self::created(function($model){
        $user = Auth::user();
        $user->sumfields = Points::where('user_id',$user->id)->sum('points');
        $user->save();
    });
}

Функция self::created вызывается после . Создан новый экземпляр этой модели.

Однако, если бы это был мой проект, я бы, вероятно, сделал то, что предложил вам Иван Елев (выплачивая сумму только тогда, когда она вам нужна).

...