我目前正在尝试访问Laravel项目中HasMany关系中的子项索引。我有一个包含许多orderItems的订单,但我似乎找不到一种方法来访问我正在处理的orderItem的索引,它与父订单的关系。
所以,基本上我希望能够做到$ orderItem-> order-> index(),如果可能的话,Eloquent中有什么可以给我这个吗?
以下是一些代码,向您展示我如何设置关系......
Order.php
/**
* @return HasMany
*/
public function orderItems()
{
return $this->hasMany(OrderItem::class)->orderBy('id', 'DESC');
}
OrderItem.php
/**
* @return BelongsTo
*/
public function order()
{
return $this->belongsTo(Order::class);
}
我想做什么......
OrderItem::find(1)->order->index()
或类似的东西。
非常感谢任何帮助。
答案 0 :(得分:0)
如果我找到你,你正试图获得与OrderItem
相关的所有ids
Order
。然后你可以使用pluck()来获得这个 -
$order = Order::find($orderId);
$ids = $order->orderItems()->pluck('id');
答案 1 :(得分:0)
我向所有与这个问题混淆的人道歉,我想要的是获取我正在处理的当前OrderItem的索引,好像它是通过关系调用加载的。
最后,这是适合我的代码......
$this->$order->orderItems->pluck('id')->search($this->id)
然后返回正确的索引给我。