【问题标题】:Laravel: Need to solve foreach loopLaravel:需要解决 foreach 循环
【发布时间】:2015-06-20 17:15:59
【问题描述】:

我想要做的基本上是为一个“正在进行”的系列节目提供“最新”剧集,下面是我目前拥有的代码。

我面临的问题是我似乎无法使剧集的 foreach 循环适用于该系列。使用当前代码,它所做的是显示相同的变量。相反,我认为正在发生的是它为每个系列循环相同的查询,以便为每个系列弹出相同的变量。

谁能帮帮我?

另外,剧集的链接方式是使用 title_id 作为标题,因此在剧集表中,它们被“title_id”喜欢,但我不知道在这个序列中如何处理。

        <?php $titles = DB::table('titles')->whereNotNull('poster')->where('status', '=', 'ongoing')->orderBy('updated_at', 'desc')->limit(12)->get(); ?>
        @foreach ($titles as $title)

            <?php $episodes = DB::table('episodes')->orderBy('created_at', 'desc')->limit(1)->get(); ?>

            @foreach ($episodes as $episode)
            <figure class="col-lg-2 col-md-3 col-sm-4  pretty-figure">
                <div class="home-episode-number">
                    {{ $episode->episode_number }}
                </div>
                <div class="flip-containerw">
                    <div class="flipper">
                      <a href="{{ Helpers::episodeUrl($title->title, $episode->title_id, 'series', $episode->season_number, $episode->episode_number) }}"><img src="{{ $episode->poster ? $episode->poster : '/assets/images/noimageepisode.png' }}" alt="" class="img-responsive"></a>
                    </div>
                </div>
                <div class="home-anime-name">
                    <a href="{{ Helpers::episodeUrl($title->title, $episode->title_id, 'series', $episode->season_number, $episode->episode_number) }}" class="series-name-link"> {{ str_limit($title->title, 23, '...') }} </a>
                </div>
            </figure>
    @endforeach                 
@endforeach

【问题讨论】:

  • 好吧,我真的不知道从哪里开始修复你的代码。
  • 我需要提供什么?

标签: php html laravel laravel-4


【解决方案1】:

您没有遵循一些基本的设计模式,例如模型-视图-控制器结构。

MVC

在您的视图中进行数据库调用并不是一个好习惯,您正在这样做。您应该在模型中或在存储库中执行此操作。并将其传递给控制器​​。

如果你开始正确使用 eloquent,你会避免很多头痛。

Eloquent

现在,回答你的问题:

如果您想在循环中获取标题的剧集,请尝试使用 where:

$episodes = DB::table('episodes')->where('title_id,'=',$title->id)->orderBy('created_at', 'desc')->limit(1)->get();

该查询将只检索一集(limit(1))。

【讨论】:

  • 我不是一个 laravel 开发人员,我确实尝试过做 MVC(很多次)——但我不知道该怎么做,但我仍在尝试。所以现在我将采用这个解决方案。感谢您的大力帮助。
猜你喜欢
  • 2021-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 2018-04-28
  • 2016-02-18
相关资源
最近更新 更多