【发布时间】:2014-10-14 23:21:10
【问题描述】:
我有以下结构
Orders
- id
- users_id
- orderPaid (can be 1 or 0)
OrdersItems
- id
- order_id
- events_id
- qty
events
- id
- name
- (and others)
关系
一个订单有许多订单项。一个订单项属于订单。
一个事件有许多订单项。一个订单项属于事件。
我需要做的是:
获取所有付费(!)数量的所有事件。因此,如果我有 2 个订单,每个订单有两个项目(总共 4 个),但只支付了一个订单,数量应该 show = 2 而不是 4
到目前为止的代码:
$events = Main::with(['clients','events.orderitems'])->where('id', $id)->first();
foreach($events->events as $events) {
$events->orderscount = count($events->orderitems);
}
成功地给了我总数量,但如果 orderPaid = 1,我只需要数量
我该怎么做?每一次帮助都值得感激
【问题讨论】:
-
改写你想要达到的目标。
count(orderitems)与 orderitems qty 字段的总和不同。
标签: php laravel-4 many-to-many relationship one-to-many