Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Появился еще 1 вопрос.
Имеется 2 таблицы:
1. таблица рецептов (recipes)
- id - PK
- dishName
....
и так далее
2. таблица ингредиентов (ingredients)
- ingredientId - PK
- dishId
.....
и так далее
в модели рецептов прописана связь этих таблиц по полю dishID. Т.е. к одному рецепту id может относиться несколько ингредиентов. recipes.id->ingredients.dishId
public function ingredients(){
return $this->hasMany('Ingredient', 'dishId');
}
Чуть чуть не пойму как правильно выводить, скажем, последние 10 рецептов с ингредиентами?
В контроллере написано:
public function index()
{
$recipeCards = Recipe::paginate(10); // страничный вывод
$ingredients = Recipe::find(1)->ingredients; // как написано в документации
return View::make('home', array('recipeCards' => $recipeCards, 'ingredients' => $ingredients));
}
и в виде home все это дело выводится.
Загвоздка в выводе ингредиентов. во всех записях они одинаковые. что нужно указать вместо find(1), чтоб для каждого рецепта выводились его ингредиенты.
По документации не понял.
Не в сети
$recipes = Recipe::with('ingredients')->paginate(10);
View::make('home', array('recipes' => $recipes));
@foreach($recipes as $recipe)
<h1>{{ $recipe->title }}</h1>
<h2>Ingredients</h2>
<ul>
@foreach($recipe->ingredients as $ingredient)
<li>{{ $ingredient->title }}</li>
@endforeach
</ul>
@endforeach
{{ $recipe->links() }}
Не в сети
Страницы 1