У меня есть схема, в которой я пытаюсь разрешить передачу параметра диапазона дат в отношение, в котором модель отношения имеет метод доступа, определенный для 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
в данных будет возвращено правильно.
Итак, мой вопрос: это то, что я пытаюсь сделать даже возможно, или я пытаюсь сделать что-то, что невозможно в любом случае?