访问提供非静态方法的一对多关系不应静态访问错误 Laravel5.3
Accessing One to many relation giving non static methode should not be accessed stitically error Laravel5.3
我有两个模型产品和照片。这些型号如下
Photo Model
public function Product(){
return $this->belongsTo('App\Product');
}
Product Model
public function Photo(){
return $this->hasMany('App\Photo');
}
我需要获取产品类别的所有照片。为此,我尝试了这个
$Photo = Products::Photo()->where(['catagory' => $request->catagory])->get();
但我收到以下错误。
ErrorException in IndexController.php line 49: Non-static method
App\Product::Photo() should not be called statically
如何解决?还有什么问题
使用如下方式访问产品类别的照片。
$product = Products::where(['catagory' => $request->catagory])->with('Photo')->get();
$photo = $product->Photo;
var_dump($photo);
请参阅 Product
的 Photo();
方法 class 不是您可以通过 class 名称直接访问的方法(访问方法的静态方法 class).
您正在尝试调用 class 的方法,就像我们调用静态方法一样
ClassName::Method_name()
但是你的照片方法不是静态的,class。
更新:对于关系,最好把(可选)建立关系的相关外键
return $this->hasMany('App\Photo','your_foreign_key_for_this_relation');
我有两个模型产品和照片。这些型号如下
Photo Model
public function Product(){
return $this->belongsTo('App\Product');
}
Product Model
public function Photo(){
return $this->hasMany('App\Photo');
}
我需要获取产品类别的所有照片。为此,我尝试了这个
$Photo = Products::Photo()->where(['catagory' => $request->catagory])->get();
但我收到以下错误。
ErrorException in IndexController.php line 49: Non-static method App\Product::Photo() should not be called statically
如何解决?还有什么问题
使用如下方式访问产品类别的照片。
$product = Products::where(['catagory' => $request->catagory])->with('Photo')->get();
$photo = $product->Photo;
var_dump($photo);
请参阅 Product
的 Photo();
方法 class 不是您可以通过 class 名称直接访问的方法(访问方法的静态方法 class).
您正在尝试调用 class 的方法,就像我们调用静态方法一样
ClassName::Method_name()
但是你的照片方法不是静态的,class。
更新:对于关系,最好把(可选)建立关系的相关外键
return $this->hasMany('App\Photo','your_foreign_key_for_this_relation');