DelimiterCast.php 529 B

12345678910111213141516171819202122
  1. <?php
  2. namespace App\Casts;
  3. use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
  4. class DelimiterCast implements CastsAttributes
  5. {
  6. public function get($model, string $key, $value, array $attributes)
  7. {
  8. $arr = explode(';', $value);
  9. foreach ($arr as &$item){
  10. $item = is_numeric($item) ? $item * 1: $item;
  11. }
  12. unset($item);
  13. return $arr;
  14. }
  15. public function set($model, string $key, $value, array $attributes)
  16. {
  17. return collect($value)->implode(';');
  18. }
  19. }