Si tenemos en nuestra vista un producto que pertenece a una categoría, podemos asignar valores por defecto a la relación belongsTo, para acceder a el, haciendo algo asi:
{{ $producto->categoria->nombre }}
Pero si el producto es borrado, o no se le asigna categoría alguna, recibimos un error, del tipo “property of non-object”
.
Mas sobre las relaciones Belongs to
Esto podríamos prevenirlo asi:
{{ $producto->categoria->nombre ?? '' }}
O podemos ir a la relación en Eloquent y darle valor por defecto
public function categoria() { return $this->belongsTo('App\Categoria')->withDefault(); }
De ese modo la relación de la categoría()
, retornara un valor vacio en el modelo Categoria
, si el producto no la tuviera, entonces podemos añadir al modelo un valor por defecto, asi:
public function categoria() { return $this->belongsTo('App\Categoria')->withDefault(['nombre' => 'sin categoria]); }
Y listo, esto es todo.
Algo más sobre relaciones en Laravel
Espero modestamente que este artículo, sirva de ayuda a alguien.
Gracias.
Subir montañas hermana hombres……