Después de ayudar a través del chat, el problema era que había una columna llamada group , y el método de relación también se llamó group , por lo que el valor de la columna de la tabla tenía prioridad sobre el método de relación.
Cambiar el nombre del método de relación, o el group columna a algo como group_id son ambas soluciones adecuadas (sugiero el group_id ruta).
Respuesta original:
Recuperas el grupo a través de una propiedad mágica, no directamente desde el método.
echo User::find(1)->group->name;
Si recupera el group() método, devolverá el objeto de relación, no realizará ninguna consulta y buscará el objeto relacionado.
Además, Eloquent hará suposiciones sobre cuáles son los nombres de las columnas de la clave externa. Group se traduciría automáticamente a un group_id columna. Si tiene una columna existente llamada group , entonces deberías especificarlo explícitamente en tu relación:
public function group ()
{
return $this->belongsTo('Group', 'group');
}
Si recibe un error "Intentando obtener la propiedad de un no objeto" para la propiedad group , entonces su relación no arroja ningún resultado ($user->group será NULL ). En ese momento, debe asegurarse de que su relación esté configurada correctamente (p. ej., utilizando las propiedades correctas pertenece a, tiene uno, tiene muchos, etc.) y asegúrese de que realmente tiene una entrada relacionada en su base de datos.