Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel收藏的创建和使用_Laravel_Collections_Eloquent - Fatal编程技术网

Laravel收藏的创建和使用

Laravel收藏的创建和使用,laravel,collections,eloquent,Laravel,Collections,Eloquent,嘿,所以我对拉威尔真的很陌生,而且我在从我的数据库获取相关数据时遇到了麻烦。我目前有几个与总体产品系列表相关的表。我现在得到了产品系列,我正试图得到该系列产品的产品代码。问题是我只返回一个产品,而不是一个集合。我知道我没有得到正确的信息,我卡住了。我的控制器当前看起来像这样 public function getProductFamily($id) { $productfamily = ProductFamilyModel::where('id', $id)->first();

嘿,所以我对拉威尔真的很陌生,而且我在从我的数据库获取相关数据时遇到了麻烦。我目前有几个与总体产品系列表相关的表。我现在得到了产品系列,我正试图得到该系列产品的产品代码。问题是我只返回一个产品,而不是一个集合。我知道我没有得到正确的信息,我卡住了。我的控制器当前看起来像这样

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);
}
试试这个:

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'));
}