Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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雄辩的模型操作创建了多少连接?_Php_Database_Laravel - Fatal编程技术网

Php Laravel雄辩的模型操作创建了多少连接?

Php Laravel雄辩的模型操作创建了多少连接?,php,database,laravel,Php,Database,Laravel,据我所知,Laravel中的每个DB::对象都会打开新的连接,并在操作完成后将其关闭 但是模型怎么办,特别是当我对它们做一些修改时 例如,如果我有 $users = User::all(); foreach($users as $user) { $user->setVisible(['id', 'name']); // some more operations with data happen here } 我不会对这些模型执行任何save()或update()操作,只需

据我所知,Laravel中的每个
DB::
对象都会打开新的连接,并在操作完成后将其关闭

但是模型怎么办,特别是当我对它们做一些修改时

例如,如果我有

$users = User::all();
foreach($users as $user) {
    $user->setVisible(['id', 'name']);
    // some more operations with data happen here
}
我不会对这些模型执行任何
save()
update()
操作,只需读取
foreach
中的数据,设置自定义可见列


在此过程中将创建和关闭多少个连接?

此代码将只生成一个查询,因为
setVisible()
不适用于DB,它只是一个setter:

public function setVisible(array $visible)
{
    $this->visible = $visible;

    return $this;
}

我说的是原生setVisible,不是我自己的函数:@YawningMilk在这种情况下不会创建任何额外的查询。非常感谢!也许你也可以给我一个提示,我在哪里可以读到一些关于连接和其他有用的东西?@YawningMilk了解Laravel为每个请求创建了多少查询的最好方法是使用。你会喜欢的。