2015-01-24 3 views
0

У меня очень простая модель db, состоящая из двух таблиц Элементов и категорий.Получить элементы другим идентификатором таблицы, используя «пули»

Элементы Таблица

ID Я Название Я CATEGORY_ID

Категории Таблица

ID I Название I Slug

На данный момент я могу фильтровать элементы по одной конкретной категории с что-то вроде www.myapp.com/tags/1.

Route::get('tags/{category?}', array('as'=>'itemstag', 'uses'=>'[email protected]_items')); 

И вот как выглядит контроллер.

public function show_items($category = NULL) 
{ 

    if($category == NULL) 
     return View::make('items/index', ['items' => Item::where('publishtime', '<', date('Y-m-d H:i:s'))->orderBy('created_at','Desc')->paginate(24),'categories' => Category::all()]); 
    else 
     return View::make('items/index', ['items' => Item::where('publishtime', '<', date('Y-m-d H:i:s'))->orderBy('created_at','Desc')->where('category_id','=',$category)->paginate(24),'categories' => Category::all()]); 

} 

Дело в том, что я хочу, чтобы мои URLs более «довольно», но если я прохожу слизняка к контроллеру, то я не могу оценить состояние, потому что у меня нет $ слизняка на моей модели элементов. Должен ли я здесь присоединиться? Каков правильный способ реализации пули в этом случае?

ответ

0
$items = Item::where('publishtime', '<', date('Y-m-d H:i:s')) 
     ->orderBy('created_at','Desc') 
     ->whereHas('category', function ($q) use ($category){ 
      $q->where('slug','=',$category); 
     }) 
     ->paginate(24); 

 Смежные вопросы

  • Нет связанных вопросов^_^