Вот мой контроллер, я беру данные блога из модели блога и передавая его через BlogData
Вот контроллер
$BlogData = Blog::where('BlogUrl', $data)->get(); return View::make('blogview')->with('BlogData', $BlogData);
В представлении
@foreach ($Blogs as $Blog) {{ $Blog->BlogTitle }} {{ $Blog->BlogTag }} @endforeach
Вопрос: у меня есть BlogTag coloumn как 1,3,4
что означает, что он включает первый, второй и третий теги
Как я могу получить название тега из модели тега
Примечание. Рассмотрим Tag::
– это модель тега, а TagName – это имя тегов, таких как Chrome, Google, Internet
как это
Также рекомендую, должен ли я выполнять этот процесс в представлении или в самом контроллере
Вот моя структура таблицы в изображении для быстрого и легкого понимания
Вот мой код:
Маршрут:
Route::get('blog', 'HomeController@Blog');
Контроллер:
public function BlogView($data=NULL) { $BlogData = Blog::with('tags')->where('BlogUrl', $data)->get(); Blog::with('tags')->where('BlogUrl', $data)->get(); return View::make('blogview')->with('BlogData', $BlogData); }
Модель:
Модель блога:
<?php class Blog extends Eloquent { protected $table = 'blog'; public function tags(){ return $this->belongsToMany('Tag', 'blog_tag', 'blog_id', 'tag_id'); } }
Модель тега:
<?php class Tag extends Eloquent { protected $table = 'tags'; public function tags(){ return $this->belongsToMany('Tag', 'blog_tag', 'blog_id', 'tag_id'); } }
Я несколько раз менял представление, так как эффект комментария,
Поэтому я публикую код просмотра здесь
Просмотры :
<div class="jumbotron"> @foreach ($Blogs as $Blog) <div class="well"> <p> <a href="<?php echo url();?>/blog/<?php echo $Blog->BlogUrl;?>">{{ $Blog->BlogTitle }}</a> {{ $Blog->tags()->toSql() }} @foreach($Blog->tags as $tag) {{ $tag->tags }} @endforeach {{ dd($Blog->tags->toJson()) }} </p> <div><h4> Writted on {{ date_format($Blog->created_at, 'F d o') }} | Tagged {{$Blog->Name}} </h4> </div> </div> @endforeach </div>