إضافة المنطق إلى وجهات النظر
سؤال
الوظيفة أدناه الحصول على معرف المستخدم والحصول على العناصر من قائمة مراقبة المستخدم.هل هناك طريقة أستطيع أن أضيف المنطق التالي إلى طريقة عرض?يحتوي السطر المعلق على وجهة النظر التي أحاول تمريرها إليها.
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
لا تنتمي إلى StackOverflow