領収証発行サービス
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

31 lines
777B

  1. <?php
  2. namespace App\Models\Feature;
  3. use App\Models\ColumnName;
  4. use App\Models\SMSProvider;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  7. use LogicException;
  8. trait SMSProviderFeature
  9. {
  10. const COL_NAME_SMS_PROVIDER_ID = ColumnName::SMS_PROVIDER_ID;
  11. public function setSMSProvider(SMSProvider|string $smsProvider): static
  12. {
  13. $id = is_string($smsProvider) ? $smsProvider : $smsProvider->id;
  14. data_set($this, self::COL_NAME_SMS_PROVIDER_ID, $id);
  15. return $this;
  16. }
  17. public function smsProvider(): BelongsTo
  18. {
  19. if ($this instanceof Model) {
  20. return $this->belongsTo(SMSProvider::class);
  21. } else {
  22. throw new LogicException("不正");
  23. }
  24. }
  25. }