2014-05-22 3 views
1

Je rencontre un problème avec la relation Eloquent. La relation est ... Chaque utilisateur peut avoir un propriétaire qui est également un utilisateur.Laravel 4 relations et événements

Lorsque je tente d'aller chercher l'utilisateur avec le parent:

sur les systèmes UNIX et PHP 5.4.20, je reçois même utilisateur en tant que parent si parent et l'utilisateur les deux sont identiques.

Alors que sur PHP5.4.7 (Win 7 si cela compte), il renvoie des données correctes. En passant, ce code est un gestionnaire d'événements d'un événement.

Modèle utilisateur

class User extends Eloquent implements UserInterface, RemindableInterface, PresentableInterface { 
    protected $fillable = array(
    'first_name', 'last_name', 'email', 'password', 're_type_password', 'birth_date', 
    'phone', 'address', 'state', 'city', 'zip', 'profile_pic', 'owner_id', 'can_edit_appointments', 
    'can_accept_invitations', 'can_edit_profile', 'can_receive_notification', 'is_active', 'is_admin', 'token', 'failed_login_attempts_count' 
); 

    public function __construct($validator = null, $subAccountValidator = null) 
    { 
    parent::__construct(); 
    $this->validator = $validator ?: App::make('ReminderMillie\Services\Validators\UserValidator'); 
    $this->subAccountValidator = $subAccountValidator ?: App::make('ReminderMillie\Services\Validators\SubAccountValidator'); 
    } 


    public function getDates() 
    { 
     return array('created_at', 'updated_at', 'birth_date'); 
    } 


    /** 
    * Relations 
    */ 
    public function business() 
    { 
    return $this->hasOne('Business', 'owner_id'); 
    } 

    public function parent() 
    { 
    return $this->belongsTo('User', 'owner_id'); 
    } 

    public function subAccounts() 
    { 
    return $this->hasMany('User', 'owner_id'); 
    } 

}  
+0

Pouvez-vous partager le modèle 'user' avec nous? – msturdy

+0

Bien sûr. http://laravel.io/bin/kon4m –

+0

Pouvez-vous également partager le code dans lequel vous interrogez la relation? ce modèle a l'air juste – msturdy

Répondre

0

Je pense que vous inverse est incorect ...

s'il vous plaît vérifier cette

public function parent() 
{ 
    return $this->belongsTo('User'); 
} 

public function subAccounts() 
{ 
    return $this->hasMany('User', 'id', 'owner_id'); 
}