0

因此,作为早期帖子的后续,我很好奇这是否是基于 POST 数据更新记录的最有效方法。

路由.php

//COLLECT POST DATA IN $thisOrder ARRAY
//DETERMINE THAT $thisOrderID is the primary key of the record to be updated
$updateOrder = Order::find($thisOrderID)->update($thisOrder);

在我看来,这似乎是在执行 2 个查询:

1 - SELECT * FROM tblOrder WHERE orderid=$thisOrderID
2 - UPDATE SET //myvalues = $thisOrder// WHERE orderid = $thisOrderID

我知道这不是正确的语法,但它解释得很快。

我是否正确理解这一点?使用 find() 命令正在执行 SELECT 并且 update() 正在执行更新。

如果我知道ID,我不能直接进行更新吗?

谢谢!

4

1 回答 1

1

是的,你做得对。通过使用 ORM,您可以将自己从底层 SQL 中抽象出来。IE。您正在为简单(可以说)和更少的代码而交易效率。这不是一件坏事,这里的抽象是完全合法的。

我不会担心这个。只要你在orderid列上有一个索引。首先构建一个可以工作的应用程序,然后进行优化。除非您能解释为什么需要优化,否则无需优化。如果您需要,这种事情将是您最不担心的事情。那时,您会发现应用程序的瓶颈并进行优化。这个 ORM 可能不会成为瓶颈。

这是一个过度简化,所以这里是一个很好的阅读,更详细一点

于 2012-12-03T22:28:06.483 回答