質問

以下の関数は、ユーザーのIDとユーザーの監視リストからの項目を取得します。次のロジックをビューに追加できる方法はありますか?コメントされた行には、私がそれを渡しようとしているビューがあります。

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);
}
.

役に立ちましたか?

解決

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

テンプレート(account/watchlist.blade.php):

@foreach ($categories as $category)
   {{ $category->id }}
@endforeach
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top