Select 来自两个表并显示 laravel 中的所有内容
Select from two tables and show everything in laravel
我想在页面上显示来自两个 table 的数据,但有一点条件,我不知道如何在 Laravel 4 中显示它。
所以我有 table categories
和 table products
。目前我在页面上显示所有类别,没有问题。问题是现在会有没有类别的产品,我也想在页面上循环显示它们。
当管理员创建产品时,他会选择类别,但如果不选择任何类别,它将在数据库 products
列 single_product
中保存 1
默认值。
这是产品型号
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>
如何将 select single
products
table 中的列与类别名称一起显示在页面上?
那就没有分类了。避开您的类别 class,直接从产品 class 中获取。创建一个函数,如:
public function singleItems()
{
return $this->where("single_product", 1)->get();
}
然后你foreach结果出来。请检查此以获取更多信息:
https://laravel.com/docs/5.1/eloquent-collections
我知道以上是 laravel 的另一个版本而不是你的,但我认为它应该有效。否则告诉我,那我再看看。
我想在页面上显示来自两个 table 的数据,但有一点条件,我不知道如何在 Laravel 4 中显示它。
所以我有 table categories
和 table products
。目前我在页面上显示所有类别,没有问题。问题是现在会有没有类别的产品,我也想在页面上循环显示它们。
当管理员创建产品时,他会选择类别,但如果不选择任何类别,它将在数据库 products
列 single_product
中保存 1
默认值。
这是产品型号
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>
如何将 select single
products
table 中的列与类别名称一起显示在页面上?
那就没有分类了。避开您的类别 class,直接从产品 class 中获取。创建一个函数,如:
public function singleItems()
{
return $this->where("single_product", 1)->get();
}
然后你foreach结果出来。请检查此以获取更多信息:
https://laravel.com/docs/5.1/eloquent-collections
我知道以上是 laravel 的另一个版本而不是你的,但我认为它应该有效。否则告诉我,那我再看看。