Использование средства доступа к моделям в типовых отношениях - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть схема, в которой я пытаюсь разрешить передачу параметра диапазона дат в отношение, в котором модель отношения имеет метод доступа, определенный для created_at даты.

Тип Lighthouse:

type Widget {
    ...
    orderItemsPaginated(created_at: DateRange @whereBetween): [OrderItem]
        @morphMany(relation: "orderItems", type: "paginator")
    ...
}

Модель виджета:

class Widget extends Model 
{
    public function orderItems(): MorphMany
    {
        return $this->morphMany(OrderItem::class, 'saleable');
    }
}

Модель OrderItem:

class OrderItem extends Model 
{   
    public function getCreatedAtAttribute($value) 
    {
        return $this->order->created_at;
    }

    public function saleable() : MorphTo
    {
        return $this->morphTo();
    }

    public function order() : BelongsTo
    {
        return $this->belongsTo(Order::class);
    }

Я хочу выполнить запрос, подобный следующему:

{
  widget(id:1616812) {
    name
    id
    orderItemsPaginated(
      first:10
      created_at: {
        from:"2019-01-01"
        to:"2020-01-01"
      }
    ) {
      data{
        id
        created_at
        order_status
      }
    }
}

Вышеуказанное возвращает ошибку MySQL Column not found. Тем не менее, если я уберу диапазон created_at из запроса, запрос будет выполнен правильно, а поле created_at в данных будет возвращено правильно.

Итак, мой вопрос: это то, что я пытаюсь сделать даже возможно, или я пытаюсь сделать что-то, что невозможно в любом случае?

...