Php Laravel5雄辩:如何从特殊条件下获得几篇文章?

Php Laravel5雄辩:如何从特殊条件下获得几篇文章?,php,mysql,laravel,relationship,laravel-eloquent,Php,Mysql,Laravel,Relationship,Laravel Eloquent,首先,我很抱歉我的英语不好。 我想用5篇文章获得最高的观点。 我试过了,但我对有说服力的提问有问题 laravel震源 <?php $up = "SELECT id FROM articles WHERE id IN (SELECT id from (SELECT id FROM articles ORDER BY view_count DESC LIMIT 0,5) x)"; $builder = new \App\Article; $query = $build

首先,我很抱歉我的英语不好。
我想用5篇文章获得最高的观点。 我试过了,但我对有说服力的提问有问题

laravel震源

<?php
    $up = "SELECT id FROM articles WHERE id IN (SELECT id from (SELECT id FROM articles ORDER BY view_count DESC LIMIT 0,5) x)";
    $builder = new \App\Article;
    $query = $builder->selectRaw("articles.*, $up");
?>
    @forelse($query->latest() as $article)
        <img src="{{ $article->thumbnail }}" alt="{{ $article->title }}" title="{{ $article->title }}">
    @empty
        <p class="text-center text-danger">
        empty...
        </p>
    @endforelse
我看过其他关于这个主题的帖子,但我没有找到解决方案。

感谢您的帮助。

5按视图订购的文章,您只需在控制器中写入:

$articles = Article::orderBy('views', DESC)->take(5)->get();
return view('article', ['articles' => $articles
]);
在您的文章.blade.php中:

@forelse($articles() as $article)
    <img src="{{ $article->thumbnail }}" alt="{{ $article->title }}" title="{{ $article->title }}">
@forelse
    <p class="text-center text-danger">
    empty...
    </p>
@endforelese
@forelse($articles()作为$article)
缩略图}“alt=“{{$article->title}}”title=“{{{$article->title}}”>
@弗雷尔斯

空的。。。

@endforelese
首先,您必须在控制器中创建服务sttuf,以清理视图并尊重MVC模式

因此,在控制器中,您可以使用Eloquent:

$articles = App\Article::orderBy('view_count', 'desc')
               ->take(5)
               ->get();

return view('SomeView')->withArticles($articles);
SomeView.blade.php
中:

@forelse($articles as $article)
    <img src="{{ $article->thumbnail }}" alt="{{ $article->title }}" title="{{ $article->title }}">
@empty
    <p class="text-center text-danger">
    empty...
    </p>
@endforelse
@forelse($articles作为$article)
缩略图}“alt=“{{$article->title}}”title=“{{{$article->title}}”>
@空的

空的。。。

@endforelse
也许你应该看看这本非常有用的书。如果你的代码不干净,认真看看laravel文档。为什么有两个子查询?内部查询的结果是否与您正在使用的查询相同?
@forelse($articles as $article)
    <img src="{{ $article->thumbnail }}" alt="{{ $article->title }}" title="{{ $article->title }}">
@empty
    <p class="text-center text-danger">
    empty...
    </p>
@endforelse