領収証発行サービス
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 line
884B

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