【问题标题】:Laravel add new item to foreach loop from outsideLaravel 从外部向 foreach 循环添加新项目
【发布时间】:2018-04-12 15:56:58
【问题描述】:

我很好奇。 Laravel 是否为我们提供了一种更简单的方法来向 foreach 数组添加外来项目?例如我有:

$video_url = Video::orderBy('created_at', 'desc')->first()->url;
$cut_head = str_after($video_url, 'https://www.youtube.com/watch?v=');
$cut_tail = str_before($cut_head, '&');

它的工作原理和我想的一样。切割头和尾。但在我的视频循环中。没有裁剪的视频网址链接。

$videos = Video::orderBy('created_at', 'desc')->get();

$videos 在我看来正在使用。在 foreach 循环内。如何将裁剪后的 url_link 集成到 foreach 循环中。

谢谢提前。

【问题讨论】:

  • 向我们展示您的控制器,您将什么传递到视图中?实际上,$videos 与您发布的第一个 sn-p 无关。
  • 你也可以在你的 foreach 中做同样的过程
  • 你想在视频数组的 foreach 循环中添加属性 url_link 吗?
  • @flex_ 是的,先生。
  • @afsalc 是的,我可以。但是有一个问题。 str_after 和 str_before 是 laravel 命令。不是php。我需要在控制器中执行此操作,对吗?视图不应该看到 str_after 命令。

标签: php laravel loops eloquent helpers


【解决方案1】:

创建的 App\Helper\helper.php 添加了

    function videoJpg($video_url){
    $cut_head = str_after($video_url, 'https://www.youtube.com/watch?v=');
    $cut_tail = str_before($cut_head, '&');
    $video_jpg = "http://i3.ytimg.com/vi/".$cut_tail."/hqdefault.jpg";

    return $video_jpg;}

添加

"classmap": "database"
"psr-4": {"App\\": "app/" }
"files" : ["app/Helper/helper.php"]

到 composer.json

在作曲家 dumpautload 之后

刀片中的用法是:<img src="{{ VideoJpg($video->url) }}"

我自己做了帮手。这是最干净的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    相关资源
    最近更新 更多