Php Laravel-导出到csv返回空白列表

Php Laravel-导出到csv返回空白列表,php,laravel,Php,Laravel,我想在我的laravel项目中定制一个按钮来导出客户列表。。。 路由正常,刀片文件正常,csv已导出,但没有用户详细信息、姓、名和电子邮件 有人知道为什么吗?我是拉拉维尔的初学者 public function exportCsv(Request $request) { $fileName = 'tasks.csv'; $users = User::role('staff'); $headers = array( "Con

我想在我的laravel项目中定制一个按钮来导出客户列表。。。 路由正常,刀片文件正常,csv已导出,但没有用户详细信息、姓、名和电子邮件

有人知道为什么吗?我是拉拉维尔的初学者

     public function exportCsv(Request $request) {
   $fileName = 'tasks.csv';
    $users = User::role('staff');
        $headers = array(
            "Content-type"        => "text/csv",
            "Content-Disposition" => "attachment; filename=$fileName",
            "Pragma"              => "no-cache",
            "Cache-Control"       => "must-revalidate, post-check=0, pre-check=0",
            "Expires"             => "0"
        );

        $columns = array('first_name', 'last_name', 'email');

        $callback = function() use($users, $columns) {
            $file = fopen('php://output', 'w');
            fputcsv($file, $columns);

            foreach ($users as $user) {
                $row['first_name']  = $user->first_name;
                $row['last_name']    = $user->last_name;
                $row['email']    = $user->email;

                fputcsv($file, array($row['first_name'], $row['last_name'], $row['email']));
            }

            fclose($file);
        };

        return response()->stream($callback, 200, $headers);
    }

首先,请编辑您的问题,并正确设置代码格式。堆栈代码段用于客户端代码,可以直接在查看器的浏览器中运行,因此这里的服务器端代码以.Done开头没有意义。非常感谢。您是否验证了您试图访问的这些属性实际上是由$users(分别是foreach循环中的单个$user)填充的?是的,在我们的数据库中,我们有200多个没有角色的结果$users=user::doesntHave('roles');我没有问你数据库里有什么,我让你验证脚本中的变量实际上包含了什么。