php - View 中表的输出值

标签 php database laravel

我在 Laravel 中遇到了问题。我已经将我的整个表格从我的 Controller 传递到我的 View :

$usersTable = DB::table('users')->get();
return view('users')->with('users', $usersTable);

在 foreach 循环中,我可以在我的 View 中完美地获取像这样的每个值:

        @foreach($users as $user => $value) 
            <div class="projectBox">
                <br><span class="projectBoxName">{{ $value->name }}</span>
                @php
                    echo Form::image('/images/edit.png', "",['class' => "editUserBtn", 'userId' => $value->id]);
                @endphp
                <br><span class="projectBoxSmallText projectBoxEmail">{{ $value->email }}</span>
                <br><span class="projectBoxSmallText projectBoxId">ID: {{ $value->id }}</span>
                <br><span class="projectBoxSmallText projectBoxProjects">Currently no projects</span>
            </div>
        @endforeach

但我还需要在我的 foreach 循环之外访问这些值,我该怎么做?

   echo Form::text('email', "$users->$value->email", array('placeholder' => "Email"));

不工作...

这以这种形式给出了我的整个对象

[{"id":"1","name":"Administrator","email":"admin@mail.com","password":"$2y$10$Re3Ahf.SwU5vj4UvtU5Dy.jxaZMsUNC2WhuJMwsNy9gu6TST4PuRG","remember_token":null}]

如何只获取邮件?我也尝试过使用索引,但这些都不起作用。 谢谢!

编辑: 完整情况: 我有一个用户列表以及他们的额外信息(邮件、电话……)。在这些用户框中有一个按钮,当我单击该按钮时,它会显示一个模式打开,提供当前的邮件和电话。所以我不能在我的 Controller 中说要返回谁的邮件地址,因为我只知道此时用户单击客户端按钮。 图片: http://imgur.com/a/krDrY (编辑按钮是那个带三个点的小圆圈)。

最佳答案

要在不使用循环的情况下访问集合,您应该使用集合方法:

$users = User::get();
$users->where('name', 'John Smith')->first()->email

这不会创建任何额外的查询,因为您已经预先加载了数据。

如果您只想加载一个用户,请使用 first() 而不是 get():

$users = User::first();

如果你像一些人在这里推荐的那样使用 get() 然后 [0]first() ,你会将所有用户数据加载到每个请求的内存中,这会使您的服务器过载。

此外,使用索引访问数据(如 $users[4]['email'])是一种不好的做法。尽可能避免它。

关于php - View 中表的输出值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42836608/

相关文章:

php - 找到主题标签

php - PHP登录脚本未选择行

sed - 用于插入命令的复杂 sed 命令

database - 安卓数据库: IllegalStateException issue

MySQL 到 PostgreSQL 转换和数据同步

php - 如何验证嵌套数组并在 laravel 中显示消息

php - 比较日期 mysql/php 不起作用

java - @GeneratedValue(strategy = GenerationType.SEQUENCE) 和 startVaule

php - 同一域中的多个 Laravel 5 项目

php - 属性 redirectPath 和 redirectTo 设置位置? Laravel 特质 AuthenticatesAndRegistersUsers