【发布时间】:2017-06-26 13:30:08
【问题描述】:
我在 Laravel 5.2 的控制器中,并试图遍历一个有说服力的 invoice_items 集合,这将转化为类似订单项目的东西。因此,发票将充当订单,具有订购的商品 (invoice_item),而 invoice_items 将列出订购的所有产品 (product)。
这是我所拥有的:
$id = $value; //from param
$invoice = Invoice::where('id', $id)->get();
$invoice_items = Invoice_item::all()->where('invoice_id', $invoice[0]->id);
$contact = Contact::where('id', $invoice[0]->contact_id)->get();
foreach($invoice_items as $item) {
$products = Product::all()->where('id', $item->product_id);
}
我正在尝试从该特定发票中提取所有产品(通过发票项目),在这种特定情况下应该是两个不同的产品。
发生的情况是,当我使用该循环进行迭代时,它会添加两次相同的产品,而应该将每个产品添加一次。我的逻辑在这里错了吗?或者我需要重新审视我的人际关系吗?
【问题讨论】:
-
在使用
where()时尝试get()而不是all()。 -
不幸的是, get() 给出了相同的输出。不过,感谢您的快速回复!
标签: php eloquent laravel-5.2