2

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

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

我试过了:

$reservation->invoice->update();

和:

$reservation->invoice->save();

更新属性后,但这些方法出现错误:找不到方法。我是否假设我应该简单地从关系中找到记录并正常更新?

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

做这个的最好方式是什么。迭代购物车集合或迭代收据集合。如何在两个购物车之间的信息中轻松识别用户想要删除的收据?

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

我在这里转圈

任何建议表示赞赏

4

1 回答 1

1

您在一个问题中提出了很多问题……但我建议您查看从 $reservation->invoice 中返回的对象。您建议预订和发票是两个独立但一对多相关的实体,因此当您调用 时$reservation->invoices,Laravel 通过返回发票模型的集合来帮助您,以便您可以遍历它们并进行更新。此外,您可能还想看看如何利用关系方法 ( $reservation->invoices())

对于您的其他问题... PHP 文档是您的朋友请参阅:array_diff 和 array_intersect 类型函数

于 2013-09-24T02:56:22.030 回答