我有一个架构,试图将日期范围参数传递给关系模型,其中关系模型具有为created_at
日期定义的访问器。
灯塔类型:
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
字段将正确返回。
所以我的问题是:我正在尝试做什至是可能的,还是我正在尝试做某种不可能完成的事情?