VendorRecord.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Models;
  3. use Dcat\Admin\Traits\HasDateTimeFormatter;
  4. use Illuminate\Database\Eloquent\Factories\HasFactory;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\SoftDeletes;
  7. /**
  8. * @method static where(string $key, string $value1, string $value2 = null)
  9. * @method static pluck(string $text, string $id)
  10. *
  11. * @property string name
  12. * @property string description
  13. * @property string location
  14. */
  15. class VendorRecord extends Model
  16. {
  17. use HasFactory;
  18. use HasDateTimeFormatter;
  19. use SoftDeletes;
  20. protected $table = 'vendor_records';
  21. /**
  22. * 对联系人字段读取做数据类型转换,json字符串解析为数组.
  23. *
  24. * @param $contacts
  25. *
  26. * @return array
  27. */
  28. public function getContactsAttribute($contacts): array
  29. {
  30. return array_values(json_decode($contacts, true) ?: []);
  31. }
  32. /**
  33. * 对联系人字段写入做数据类型转换,数组转为json字符串.
  34. *
  35. * @param $contacts
  36. */
  37. public function setContactsAttribute($contacts)
  38. {
  39. $this->attributes['contacts'] = json_encode(array_values($contacts));
  40. }
  41. }