2016-07-01 3 views
1

Я хочу показать на данные страницы из двух таблиц, но с небольшим условием и я не могу догадался, как сделать это в Laravel 4.Выбрать из двух таблиц и показать все, что в Laravel

Я есть таблица categories и таблица products. В настоящее время я показываю все категории на странице, и проблем нет. Проблема в том, что теперь есть продукты без категории, и я хочу их также зацикливать на странице.

Когда администратор создает продукт, он выбирает категорию, но если он не выберет, он сохранит 1 по умолчанию в базе данных products столбец single_product.

Это модель продукта

public function categories() 
{ 
    return $this->hasMany('Categories', 'category_id'); 
} 

И Категории модель

public function products() 
{ 
    return $this->hasMany('Product', 'category_id'); 
} 

public function lowestProduct() { 
    return $this->products()->selectRaw('*, max(price) as aggregate') 
    ->groupBy('products.product_id')->orderBy('aggregate'); 
} 

И это мнение

<div class="col-xs-8 text-left" style="margin-top: 9px"> 
     @if($category['no_category'] == 0) 
      Price: <strong>{{ $category->products()->min('price') }} $</strong>       
     @else 
      Price from: <strong>{{ $category->products()->min('price') }} $</strong> 
     @endif 
    </div> 

Как выбрать single столбец из products таблицы и показать их на страницу вместе с названиями категорий?

ответ

1

Тогда нет категории. Избегайте своего класса категории и просто выбирайте непосредственно из класса продукта. Создайте такую ​​функцию, как:

public function singleItems() 
{ 
    return $this->where("single_product", 1)->get(); 

} 

Затем вы можете получить результат. Пожалуйста, проверьте это для получения дополнительной информации:

https://laravel.com/docs/5.1/eloquent-collections

Я знаю, что выше для другой версии Laravel, чем ваша, но я думаю, что он должен работать. Еще скажите мне, тогда я буду смотреть дальше.

+0

В каком файле я должен поместить это в модель продукта? И как их предвидеть? –

+0

Вы должны отобразить их в файле вашего вида или в файле маршрутов. Вы можете сделать то же самое с категориями. – Aprilsnar

+0

Спасибо! Кажется, я понял. Я поместил его в домашний контроллер + второй цикл на мой взгляд. –

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

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