我有订单功能,其中它显示了与订单相关的项目,我想做的是,只分页订单内的项目。
public function order()
{
$orderId = request()->get('id', 0);
$order = null;
$order = OrderItem::with(['items'])->find($orderId);
if ($orderId != 0) {
if ($order == null) {
return Inertia::render('IDashboard/utils/IError');
}
}
return Inertia::render(
'Orders/IData',
['order' => $order]
);
}
我试过:
public function order()
{
$orderId = request()->get('id', 0);
$order = null;
$order = OrderItem::find($orderId);
if ($orderId != 0) {
if ($order == null) {
return Inertia::render('IDashboard/utils/IError');
}
}
$items = Item::where('order_item_id', $orderId)->paginate(10);
return Inertia::render(
'Orders/IData',
['order' => $order, 'itemsList' => $items]
);
}
但另一个例子中的问题是,当在Vue组件中进行分页时,点击page 2,它不会显示任何信息。
props: {
is: Function,
order: Object,
orderItems: Object,
itemsList: Object,
},
<IItemCalculate
v-for="(
item, index
) in orderItems"
:order="order"
:item="item"
:key="index"/>
<IPagination :links="itemsList.links" /> //general pagination component:
我使用的路径是:
Route::get('/order', 'App\Http\Controllers\ItemController@order')->name('order');
错误,错误是,在给出第二页,或者下一页的时候,内容没有显示,或者错误是,在给出第二页,或者下一页的时候,内容没有显示,或者当我在关系中做分页的时候,也就是$items = $order->items()->paginate(10)
,抛出错误,成员函数items()on null,当转到下一页的时候。
非常感谢,我了解最新情况。
1条答案
按热度按时间xghobddn1#
您可以通过在路径中包含
order_id
来解决此问题,而不是像下面这样的查询:127.0.0.1:8000/order/1
然后稍微修改控制器。由于您希望在
order
不存在的情况下呈现不同的页面,因此可以跳过Route-Model Binding
。如果你真的想把
order_id
作为查询字符串,你可以看看这个,我还没有试过。在分页中追加查询字符串值