2013-09-20 175 views
2

我正在通过理解laravel中的关系。我在两张桌子之间建立了关系:预订和收据。收据属于预订并且预订有许多收据。 我很满意基本用法,可以将收据与预订相关联。 但是我无法解决如何执行更新过程。 从表单我有一个购物车类型的应用程序与购物车存储收据来处理预订购物车包括现有的收据,用户添加的新收据和用户可能已经删除了收据。 有几件事我不确定:laravel更新,删除一对多关系雄辩

如果我只是想从预订记录更新收据的详细信息,我该怎么做?

我曾尝试:

$reservation->invoice->update(); 

和:

$reservation->invoice->save(); 

更新属性之后,但这些方法想出了一个错误:没有找到方法。我是否假设我应该单独从关系中找到记录并正常更新?

然后其他相关的问题是逻辑之一。我的购物车将收集收据,用于根据收据表发布或更新。我可以检索收据集合进行比较。

这样做的最好方法是什么?迭代购物车集合或迭代收据集合。我可以轻松识别用户想要删除的收据吗?基于两个购物车之间的信息?

是否有一个php方法来比较两个集合(我可以转换为数组)并获取要删除的记录的id。

我转圈圈这里

任何意见赞赏

回答

1

有很多你在一个问题,最多集资的问题......但我建议你看那个是越来越回来对象从$ reservation->发票。您建议预订和发票是两个独立的但是一对多的相关实体,因此当您拨打$reservation->invoices时,Laravel通过返回一组发票模型来帮助您,因此您可以遍历它们并进行更新。另外你也可能想看看你可以如何利用关系法($reservation->invoices()

您的其他问题... PHP Documentation is your friend见:和array_diff和array_intersect型功能