'decimal:2', 'surface_area_m2' => 'decimal:6', // 'is_active' => 'boolean', ]; /** * Get surface area constants by standard */ public static function byStandard($standard) { return self::where('standard', $standard) // ->where('is_active', true) ->get(); } /** * Get surface area for specific element */ public static function getSurfaceArea($standard, $elementNameEn, $diaMm) { return self::where('standard', $standard) ->where('element_name_en', $elementNameEn) ->where('dia_mm', $diaMm) ->first(); } /** * Get unique diameters */ public static function getUniqueDiameters() { return self::select('dia_inch', 'dia_mm') ->distinct() ->orderBy('dia_mm') ->get(); } /** * Get unique element types */ public static function getUniqueElements($standard = null) { $query = self::select('element_name_en') // ->where('is_active', true) ->distinct(); if ($standard) { $query->where('standard', $standard); } return $query->pluck('element_name_en'); } }