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.

60 lines
1.9KB

  1. <?php
  2. namespace App\Kintone\Models;
  3. use Illuminate\Support\Facades\Auth;
  4. /**
  5. * アプリ名 顧客マスタ
  6. * @property string customerCode
  7. * @property string customerName
  8. * @property string customerNameKana
  9. * @property string email
  10. * @property string phoneNumber
  11. * @property string zipCode
  12. * @property string address
  13. */
  14. class Customer extends KintoneModel
  15. {
  16. const CONFIG_KEY = "KINTONE_APP_CUSTOMER";
  17. const FIELD_CUSTOMER_CODE = "CustomerCode";
  18. const FIELD_CUSTOMER_NAME = "CustomerName";
  19. const FIELD_CUSTOMER_NAME_KANA = "顧客名カナ";
  20. const FIELD_EMAIL = "メールアドレス";
  21. const FIELD_PHONE_NUMBER = "電話番号";
  22. const FIELD_ZIP_CODE = "契約者_郵便番号";
  23. const FIELD_ADDRESS = "住所";
  24. protected const FIELDS = [
  25. ...parent::FIELDS,
  26. self::FIELD_CUSTOMER_CODE => FieldType::NUMBER,
  27. self::FIELD_CUSTOMER_NAME => FieldType::SINGLE_LINE_TEXT,
  28. self::FIELD_CUSTOMER_NAME_KANA => FieldType::SINGLE_LINE_TEXT,
  29. self::FIELD_EMAIL => FieldType::LINK,
  30. self::FIELD_PHONE_NUMBER => FieldType::LINK,
  31. self::FIELD_ZIP_CODE => FieldType::SINGLE_LINE_TEXT,
  32. self::FIELD_ADDRESS => FieldType::SINGLE_LINE_TEXT,
  33. ];
  34. protected const FIELD_NAMES = [
  35. ...parent::FIELD_NAMES,
  36. self::FIELD_CUSTOMER_NAME => 'customer_name',
  37. self::FIELD_CUSTOMER_NAME_KANA => 'customer_name_kana',
  38. self::FIELD_EMAIL => 'email',
  39. self::FIELD_ZIP_CODE => 'zip_code',
  40. self::FIELD_ADDRESS => 'address',
  41. self::FIELD_PHONE_NUMBER => 'phone_no',
  42. ];
  43. public static function getSelf(): static
  44. {
  45. return static::getAccess()->find(Auth::user()->kintone_id);
  46. }
  47. public static function findByCustomerCode(string $customerCode)
  48. {
  49. return static::getAccess()->first(static::getQuery()->where(self::FIELD_CUSTOMER_CODE, $customerCode));
  50. }
  51. }