【问题标题】:Can you do more than iterate through an array in Laravel Blades?除了遍历 Laravel Blades 中的数组之外,你还能做更多的事情吗?
【发布时间】:2016-05-26 04:59:08
【问题描述】:

我已经将一个数组 ($players) 传递给我的视图,我可以在刀片中使用 @foreach 轻松地对其进行迭代,但我实际上想要做的是检查整个数组中的某个玩家名称,然后在刀片中输出他所有的数据。我计划使用对话框来执行此操作。如果我使用搜索功能或类似的功能,这一切都会很好,但我试图只使用 jQuery-UI 的 Dialog() 和一些 Javascript。每当玩家姓名悬停时,我都想运行该查询并显示他的统计数据。

是否可以在刀片模板中以这种方式搜索数组?我想我可以将所有玩家压缩到他们自己的数组中,然后将其传递给视图,但这似乎工作量太大(从某种意义上说,我觉得这可以更加自动化)。到目前为止,只有 17 名玩家,但如果有 100 名玩家,我希望它能够工作。

谢谢

【问题讨论】:

  • 你可以用 javascript 来做。将数组存储在 JSON 对象中,然后根据播放器进行搜索操作。
  • 感谢您为我指明正确的方向。我会研究 JSON!

标签: javascript php jquery laravel laravel-5


【解决方案1】:

刀片模板是在服务器端呈现的,听起来您想根据用户做某事来搜索数据,即在客户端。

执行此操作的一种粗略方法是将所有玩家数据写入 javascript 变量:

<script>
var playerData = {!! $player_data !!};
</script>

$player_data 被传递到查看您的 PHP 脚本的位置。

然后你可以用javascript搜索data

【讨论】:

    【解决方案2】:

    在您看来,您可以使用 laravel 的辅助函数按特定玩家的姓名过滤您的数组。但我不确定这是否是获得结果的最佳方式

    //在这种情况下,它只返回字符串值 (关于 laravel 文档的示例)

    $array = array_where($array, function ($key, $value) {
        return is_string($value);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      相关资源
      最近更新 更多