Añadiendo lógica a las vistas
Pregunta
La función a continuación Obtenga la ID de un usuario y obtenga los elementos de la lista de vigilancia del usuario.¿Hay alguna manera de que pueda agregar la siguiente lógica a una vista?La línea comentada tiene la opinión de que estoy tratando de pasarlo a.
public function getWatchList() {
$user = User::find(Auth::user()->id);
$item = WatchList::where('user_id', '=', $user->id)->get();
foreach ($item as $i) {
$items = Catagory::where('id', '=', $i->item_id)->get();
foreach ($items as $item) {
echo $item->id;
}
}
// return View::make('account.watchlist')
// ->with('items', $items);
}
Solución
// don't need that, unnecessary db call, twice..
// $user = User::find(Auth::user()->id);
// you can do this:
$categoriesIds = WatchList::where('user_id', '=', Auth::id())->lists('item_id');
// then
$categories = Category::whereIn('id', $categoriesIds)->get();
return View::make('account.watchlist')->with('categories', $categories);
Ver plantilla (account/watchlist.blade.php
):
@foreach ($categories as $category)
{{ $category->id }}
@endforeach
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow