Tengo dos productos modelo y foto. Estos modelos son los siguientes
Modelo de fotografia
public function Product(){ return $this->belongsTo('App\Product'); }Modelo del Producto
public function Photo(){ return $this->hasMany('App\Photo'); }Necesito obtener todas las fotos de una categoría de productos. Para esto he probado esto
$Photo = Products::Photo()->where(['catagory' => $request->catagory])->get();Pero estoy recibiendo el siguiente error.
ErrorException en IndexController.php línea 49: el método no estático App\Product::Photo() no debe llamarse estáticamente
¿Cómo resolverlo? Y cuál es el problema
Use algo como lo siguiente para acceder a las Fotos de una categoría del producto.
$product = Products::where(['catagory' => $request->catagory])->with('Photo')->get(); $photo = $product->Photo; var_dump($photo); Ver Photo(); El método de la clase Product no es el método al que puede acceder directamente a través del nombre de la clase (forma estática de acceder al método de una clase).
Intenta llamar al método de una clase como lo hacemos con el método estático, por ejemplo.
ClassName::Method_name()Pero su método Photo no es estático ni la clase.
Actualización: para la relación, es mejor poner (opcional) la clave externa relacionada que establece la relación
return $this->hasMany('App\Photo','your_foreign_key_for_this_relation');