where('status', 1); } public function getOpenweeksArrAttr($value, $data) { return $data['openweeks'] ? array_map('intval', explode(',', $data['openweeks'])) : []; } public function getImageFirstAttr($value, $data) { return $this->images[0] ? : ''; } public function getImagesAttr($value, $data) { $imagesArray = []; if (!empty($value)) { $imagesArray = explode(',', $value); foreach ($imagesArray as &$v) { $v = cdnurl($v, true); } return $imagesArray; } return $imagesArray; } public function getDistanceTextAttr($value, $data) { $distance_text = ''; $distance = $data['distance'] ?? 0; switch (true) { case $distance >= 1000; $distance_text = round(($distance / 1000), 2) . 'km'; break; default : $distance_text = $distance . 'm'; break; } return $distance_text; } public function userStore() { return $this->hasMany(UserStore::class, 'store_id', 'id'); } }