当集合传递到视图时,用于laravel。紧凑型功能有时用于控制器(如下所示):
public function index()
{
$projects = Project::all();
return view ('projects.index',compact('projects'));
}
Project::all()
是数组而不是变量。
手册中给出了以下示例:
<?php
$city = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";
$location_vars = array("city", "state");
$result = compact("event", "nothing_here", $location_vars);
print_r($result);
?>
其中结果是:数组(
[事件]=>信号图
[城市]=>旧金山
[状态]=>(加州)
id: 1
title: "test"
description: "test2"
created_at: "2019-03-02 19:18:50"
updated_at: "2019-03-02 19:18:50"
这只是一个数据库的结果。它已经是一个数组了。
我认为compact(project)应该根据手册给出一个错误。