【发布时间】:2015-08-07 08:31:27
【问题描述】:
我正在尝试在 laravel 5 中构建简单的 CMS。这是我的问题:
我不想移动那个测试 | 首页,第一个值的新主题。因为我在 PhpMyAdmin 中有is_new_topic 行。所以我不想检查 post 是 is_new_topic == 1 然后将其移动到第一个 foreach 值。
viewTopic控制器:
<?php
namespace App\Http\Controllers;
use DB;
use View;
class viewTopic extends Controller
{
public function showTopic($tname, $tid)
{
$topics = DB::table('topics')
->where('id', $tid)
->where('seo_title', $tname)
->first();
$posts = DB::table('posts')
->where('topic_id', $tid)
->join('users', 'users.id', '=', 'posts.author_id')
->select()
->paginate(3);
return View::make('posts', compact('topics', 'posts'));
}
}
路线:
Route::get('topic/{tname}/{tid}', 'viewTopic@showTopic');
模板:
@extends('layouts.main')
@section('breadcrumb')
<ol class="breadcrumb">
<li class="active" data-toggle="tooltip" data-placement="right" title="{{ $topics->title }}">{{ $topics->title }}</li>
</ol>
@stop
@section('content')
<div class="media">
<div class="media-body" rel="#author{{ $topics->author_id }}">
</div>
@foreach($posts as $post)
<div class="media">
<div class="media-left">
<a href="{{ generateProfileURL(str_slug($post->name), $post->id) }}">
<img class="media-object" src="http://localhost/uploads/avatars/{{ $post->avatar_id }}.{{ $post->avatar_end }}" style="width: 64px">
</a>
</div>
<div class="media-body" rel="#post{{ $post->pid }}">
<a href="{{ generateProfileURL($post->name, $post->id) }}">{{ $post->name }}</a><br>{{ $post->text }}
@if (Auth::check())
@if($post->id == Auth::user()->id)
<br><a href="#">Edit</a>
@endif
@endif
</div>
</div>
@endforeach
</div>
{!! $posts->render() !!}
@stop
提前致谢:)
【问题讨论】:
-
order by is_new_topic DESC不是更简单吗? -
@AlexTartan IDK 我是新手,怎么办?
-
哦 xd 非常感谢你;)
-
您现在可以发布自己的答案并接受它;)
-
一般来说,按创建日期排序会更好。它的工作量更少,并且您在进行进一步更改时无需关心它(例如,当最新评论被删除时会发生什么)。