Frage

Die folgende Funktion ruft die ID eines Benutzers und die Elemente aus der Beobachtungsliste des Benutzers ab.Gibt es eine Möglichkeit, einer Ansicht die folgende Logik hinzuzufügen?Die kommentierte Zeile hat die Ansicht, an die ich sie weitergeben möchte.

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);
}
War es hilfreich?

Lösung

// 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);

Vorlage anzeigen (account/watchlist.blade.php):

@foreach ($categories as $category)
   {{ $category->id }}
@endforeach
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top