L'accès Éloquent relation attributs

J'ai trois modèles sont tous liés par un-à-plusieurs. Catégorie, sous-catégorie et le Style. J'ai des relations de travail dans les deux sens - même si je semble avoir un problème d'accès aux attributs liés.

Après mes requêtes ont couru, je suis parti avec cette une instance de Style où les "relations" est une instance de la sous-catégorie, et les "relations" dans la sous-catégorie est une instance de la Catégorie. Ce qui est tout à fait correct.

Le problème est que maintenant je me semblent pas être en mesure d'accéder à la relative instances de modèle. Par exemple, si je l'appelle:

$style->subcategory->name;

- Je obtenir "Essayer d'obtenir la propriété de non-objet". J'ai donc essayé d'appeler seulement $style->sous-catégorie et le résultat est '1'.

Pourquoi ne pas $style->retour de la sous-catégorie de l'instance de la sous-catégorie modèle? Ai-je raté quelque chose ou est ma compréhension incorrecte?

--EDIT--

Modèles

Catégorie

<?php

namespace Paragon\Products;

use Illuminate\Database\Eloquent\Model as Eloquent;

class Category extends Eloquent {

    protected $table = 'product_categories';

    protected $fillable = [
            'name',
            'slug',
            'image'
    ];

    public function subcategories() {
            return $this->hasMany('Paragon\Products\Subcategory', 'category');
    }

}

De la sous-catégorie

<?php

namespace Paragon\Products;

use Illuminate\Database\Eloquent\Model as Eloquent;

class Subcategory extends Eloquent {

    protected $table = 'product_subcategories';

    protected $fillable = [
            'category',
            'name',
            'slug',
            'image'
    ];

    public function styles() {
            return $this->hasMany('Paragon\Products\Style', 'subcategory');
    }

    public function category() {
            return $this->belongsTo('Paragon\Products\Category', 'category');
    }

}

Style

<?php

namespace Paragon\Products;

use Illuminate\Database\Eloquent\Model as Eloquent;

class Style extends Eloquent {

    protected $table = 'product_styles';

    protected $fillable = [
            'subcategory',
            'name',
            'slug',
            'image'
    ];

    public function subcategory() {
            return $this->belongsTo('Paragon\Products\Subcategory', 'subcategory');
    }

}

Requête

$style->where($id, $item)->with('subcategory.category')->first();

Tables

Paragon\Products\Catégorie

ID    ...
1
2

Paragon\Products\Sous-Catégorie

ID   Category    ...
1    2
2    2

Paragon\Products\Style

ID   Subcategory    ...
1    1
2    1

Depuis la sous-catégorie de la méthode dans le modèle de Style doivent se référer à une seule instance de la sous-catégorie et non pas une Collection d'entre eux, ne devrais-je pas être en mesure de simplement appeler les attributs de la façon dont je suis (ou essaie)?

Comment êtes-vous d'interroger la relation? Et avez-vous un subcategory colonne sur votre styles table? Il pourrait être de retour la valeur de la colonne plutôt que la mise en relation du modèle.
Êtes-vous sûr que vous avez mis en place belongsTo relation en plus de la hasMany?
Vous avez besoin de nous montrer vos modèles afin que nous puissions vous aider.
Je ne! Que peut être le problème..
Je l'ai mis en place, voir ci-dessus

OriginalL'auteur Mike Kaperys | 2015-08-27