无法找到方法项 - 多对多关系

时间:2017-10-21 22:16:28

标签: php laravel

我有一个包含多对多关系的产品和项目表以及一个数据透视表(item_product)。

这就是我的模型的样子。当我尝试检索属于产品(类别)Debug-iphoneos/MyTDM.app/Frameworks/libswiftCore.dylib' /Users/username/Library/Developer/Xcode/DerivedData/MyTDM-gokgkswhipemjzaepsulniokxpvp/Build/Products/Debug-iphoneos/MyTDM.app/Frameworks/libswiftCore.dylib: unknown error -1=ffffffffffffffff error: Task failed with exit 1 signal 0 { /usr/bin/codesign '--force' '--sign' 'C90533B5B5B3E397F0328467315FAC758CD1EEA3' '--verbose' '/Users/daliborondra/Library/Developer/Xcode/DerivedData/MyTDM-gokgkswhipemjzaepsulniokxpvp/Build/Products/Debug-iphoneos/MyTDM.app/Frameworks/libswiftCore.dylib' } 的项目时,我收到错误“无法找到方法项”。我似乎无法找到我的错误。请帮忙

产品

$selectedItems= $products->items()->get();

物品

public function items()
    {
        return $this->belongsToMany('App\Item','item_product','product_id','item_id')
        ->withTimestamps();
    }

控制器

 public function products()
    {
        return $this->belongsToMany('App\Product','item_product','item_id','product_id')
        ->withTimestamps();
    }

1 个答案:

答案 0 :(得分:0)

$products不是Product

的实例

试试这个:

$product = Product::findOrFail(1);
$myItems = $product->items;
return view('products',compact('myItems','product'));

说明:

$product = Product::findOrFail(1);

这将按ID获取单个产品型号,或者如果该产品不存在则抛出异常。

$myItems = $product->items;

这会将$myItems设置为项目集合。这相当于:

$myItems = $product->items()->get();

我建议你阅读documentation on relationships