Não consigo fazer o associado do Laravel trabalhar

Não tenho certeza se entendo oassociado método no Laravel. Entendo a idéia, mas não consigo fazê-la funcionar.

Com este código (destilado):

class User
{

    public function customer()
    {
        return $this->hasOne('Customer');
    }

}

class Customer
{

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

}

$user = new User($data);
$customer = new Customer($customerData);

$user->customer()->associate($customer);

Eu recebo umCall to undefined method Illuminate\Database\Query\Builder::associate() quando tento executar isso.

Pelo que posso ler, faço exatamente como indicado nos documentos.

O que estou fazendo errado?

questionAnswers(2)

yourAnswerToTheQuestion