Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel更新记录-这是2个MySQL调用中最有效的吗?_Php_Mysql_Sql_Laravel - Fatal编程技术网

Php Laravel更新记录-这是2个MySQL调用中最有效的吗?

Php Laravel更新记录-这是2个MySQL调用中最有效的吗?,php,mysql,sql,laravel,Php,Mysql,Sql,Laravel,因此,作为之前一篇文章的后续,我很好奇这是否是基于帖子数据更新记录的最有效方法 Routes.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); 在我看来,这似乎是在执行两个查询

因此,作为之前一篇文章的后续,我很好奇这是否是基于帖子数据更新记录的最有效方法

Routes.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);
在我看来,这似乎是在执行两个查询:

1 - SELECT * FROM tblOrder WHERE orderid=$thisOrderID
2 - UPDATE SET //myvalues = $thisOrder// WHERE orderid = $thisOrderID
我知道这不是正确的语法,但它解释得很快

我理解正确吗?使用find()命令进行选择,使用update()进行更新

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


谢谢

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

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


这是一个过度简化的问题

为什么它没有选择更新?非常感谢您的澄清。。。我想这还需要一段时间才能成为问题,但我喜欢从一开始就以最有效的方式思考/编写代码。不用担心这只是计算成本/收益。Laravel非常精简,因此它是快速、轻量级代码库的良好基础。这是我目前最喜欢使用的框架——我认为Taylor Otwell做得很好。它酷炫的简单性使它成为框架初学者的绝佳选择,也为Zend老手带来了新鲜空气。