/home/smartonegroup/public_html/system/system/models/UserPreference.php
<?php
use Illuminate\Database\Eloquent\Model;

class UserPreference extends Model
{

    public static function getPreference($user_id, $preference)
    {
        $preference = self::where('user_id', $user_id)->where('preference', $preference)->first();
        if($preference){
            return $preference->value;
        }
        return null;
    }

    public static function setPreference($user_id, $preference_key, $value)
    {
        $preference = self::where('user_id', $user_id)->where('preference', $preference_key)->first();
        if(!$preference){
            $preference = new self();
            $preference->user_id = $user_id;
            $preference->preference = $preference_key;
        }
        $preference->value = $value;
        $preference->save();
        return $preference;
    }

    public static function getAllPreferences($user_id)
    {
        $result = [];
        $preferences = self::where('user_id', $user_id)->get();

        foreach ($preferences as $preference) {
            $result[$preference->preference] = $preference->value;
        }

        return $result;

    }

}