Не совсем понятна используемая структура для ведения тегов к материалам.
Реализуйте следующую архитектуру:
class Recipe extends Model
{
public function tag_links()
{
return $this->hasMany('Recipe_Tag', 'recipe_id');
}
}
class Recipe_Tag extends Model
{
public function tag()
{
return $this->hasOne('Tag', 'tag_id');
}
}
class Tag extends Model
{
}
Использование:
$receipes = Recipe::with('tag_links')->get();
foreach ($receipes as $receipe)
{
echo '<h1>'.$receipe->title.'</h1>';
echo 'Категории: ';
foreach ($receipe->tag_links as $tag_link)
{
echo $tag_link->tag->name;
}
}
Преимущество такого подхода объяснять не приходится.
P.S. Пример отображения информации через контроллер - предоставлен для наглядности.
Удачки! ;-)