Laravel集合的创建和使用

问题描述 投票:0回答:1

嘿,我是一个真正的新手,Laravel和我有麻烦从我的数据库中获取相关数据. 我目前有几个表与一个总的产品家族表相关. 我目前得到的是产品家族, 我试图得到该家族中产品的产品代码. 问题是我只返回一个单一的产品,而不是一个集合。我知道我没有得到正确的信息,我卡住了。我的控制器目前是这样的

public function getProductFamily($id)
{
    $productfamily = ProductFamilyModel::where('id', $id)->first();
    $productskus = ProductModel::where('product_family_id', $id)->get();

    foreach ($productskus as $products){
        $products->product_family()->get();
    }

    return view('product_page', compact('productfamily', 'products'));



}

我已经为两个产品系列设置了模型。

public function product()
{
    // return $this->hasMany(ProductModel::class, 'product_family_id');
    return $this->hasMany(ProductModel::class, 'product_family_products', 'product_family_id', 'product_guid');

}

产品:

public function product_family()
{
    return $this->belongsToMany(ProductFamilyModel::class, 'product_family_products', 'product_guid', 'product_family_id');
    // return $this->belongsTo(ProductFamilyModel::class);
}
laravel collections eloquent
1个回答
1
投票

试试这个:

public function getProductFamily($id)
{
    $productfamily = ProductFamilyModel::where('id', $id)->first();
    $products = ProductModel::where('product_family_id', $productfamily->id)->get();

    return view('product_page', compact('productfamily', 'products'));
}
© www.soinside.com 2019 - 2024. All rights reserved.