Как расширить модель пользователей с помощью множества моделей отношений Навыки / Уровни?

Сжатие потока - хорошо известная проблема, для которой был написан код лота (Thrust, Chagg для цитирования двух библиотек, которые реализуют сжатие потока на CUDA).

Если у вас есть относительно новое устройство с поддержкой CUDA, которое поддерживает внутреннюю функцию как __ballot (compute cdapability> = 3.0), стоит попробовать небольшую процедуру CUDA, которая выполняет сжатие потока намного быстрее, чем Thrust.

Здесь находит код и минимальный документ. https://github.com/knotman90/cuStreamComp

Использует функцию голосования в одиночном режиме для выполнения уплотнения.

0
задан Blitzo 26 March 2019 в 13:46
поделиться

1 ответ

Ваша база данных усложняет работу. Я думаю, вы можете использовать динамические свойства, если хотите сделать ее доступной в usermodel

Модели User < - - (Многие ко многим) -> Уровни < - - ( Много ко многим)

protected $appends = ['skills_levels'];

public function getSkillsLevelsAttribute()
{

    $skills = // query to get all skills ->pluck('skill','id');

    $this->load('levels.skills')
    $levels = $this->levels->groupBy('skills.skill_id')->toarray();
    $output = [];

    foreach ($skills as $id => $skill) {
        $output[$skill] = [];
        if (isset($levels[$id])) {
            $output[$skill] = $levels[$id] // all levels user have for this skill
        }
    }
    return $output
}
0
ответ дан Achraf Khouadja 26 March 2019 в 13:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: