2015-08-05 7 views
1

Я laravel begginer, и я не сделаю простой CMS. Итак, у меня есть простой вопрос: CMSLaravel 5 получить имя профиля

Я хочу, когда нажмите на аватаре (изображение профиля) - перенаправлять профиль пользователя (http://example.com/profiles/nickname/id) В БД спасает, что: DB

как вы видите AUTHOR_ID I есть, теперь мне нужно получить имя автора из users таблицы: users table

А затем генерировать URL: http://example.com/profiles/Evaldas/2 (EVALDAS, потому что author_id является 2 в topics table)

Мои маршруты файл:

Route::get('topic/{tname}/{tid}', '[email protected]');

Мой viewTopic.php Контроллер:

<?php 

namespace App\Http\Controllers; 
use DB; 
use View; 

class viewTopic extends Controller 
{ 
    public function showTopic($tname, $tid) 
    { 
     return View::make('posts', [ 
      'topics' => DB::table('topics') 
       ->where('id', $tid) 
       ->where('seo_title', $tname) 
       ->first(), 
      'posts' => DB::table('posts') 
       ->where('topic_id', $tid) 
       ->select() 
       ->get() 
     ]); 
    } 
} 

И расположение:

@extends('layouts.main') 
@section('content') 
<div class="media"> 
    <div class="media-left"> 
    <a href="HERE MUST BE HREF TO PROFILE"> 
     <img class="media-object" src="http://localhost/uploads/avatars/2.jpg" style="width: 64px"> 
    </a> 
    </div> 
    <div class="media-body" rel="#author{{ $topics->author_id }}"> 
    <h4 class="media-heading">{{ $topics->title }}</h4> 
    @if(!empty($topics->text)) 
    {{ $topics->text }} 
    @else 
    Message empty :(
    @endif 
    </div> 
    @foreach($posts as $post) 
    <div class="media"> 
    <div class="media-left"> 
    <a href="HERE MUST BE HREF TO PROFILE"> 
     <img class="media-object" src="http://localhost/uploads/avatars/1.png" style="width: 64px"> 
    </a> 
    </div> 
    <div class="media-body" rel="#post{{ $post->pid }}"> 
    {{ $post->text }} 
    </div> 
</div> 
@endforeach 
</div> 
@stop 

Заранее спасибо;)

ответ

1

Вы можете использовать объект User, чтобы просмотреть его ... но лучшим вариантом было бы присоединиться к таблице «posts» в таблице «user» и выбрать его из результатов. Посмотрите на http://laravel.com/docs/5.1/queries#joins

Смежные вопросы