belongsTo(Company::class); } public function scopeWhereCompany($query, $company_id) { $query->where('company_id', $company_id); } public static function setSettings($settings, $company_id) { foreach ($settings as $key => $value) { self::updateOrCreate( [ 'option' => $key, 'company_id' => $company_id, ], [ 'option' => $key, 'company_id' => $company_id, 'value' => $value, ] ); } } public static function getSettings($settings, $company_id) { $settings = static::whereIn('option', $settings)->whereCompany($company_id)->get(); $companySettings = []; foreach ($settings as $setting) { $companySettings[$setting->option] = $setting->value; } return $companySettings; } public static function getSetting($key, $company_id) { $setting = static::whereOption($key)->whereCompany($company_id)->first(); if ($setting) { return $setting->value; } else { return null; } } }