I know this is an old thread, but just a pro-tip for anyone using namespaces with Models and relationships, if you're planning on using Implicit Transactions to save model with related records, then you have to set an alias the for relationship definition.
eg. If you have a Model called 'Client', with a 'hasMany' definition to the model 'Contact' (let's say Column/Field name referencing back to Client is 'client_id')
Definitions should be like so:
(Client Model)
$this->hasMany('id', 'App\Contact', 'client_id', NULL);
(Contact Model)
$this->belongsTo('client_id', 'App\Client', 'id', array('foreignKey' => true, 'alias' => 'client'));
Then you can do implicit transactions again like:
$client = new App\Client();
$contact = new App\Contact();
$contact->name = 'Bob';
$contact->client = $client;
$contact->save();
and you can still explicity reference
$contact->client_id = 1;
If need be.
I don't think this was thoroughly covered in the Documentation, but this was my findings anywho. Hopefully this helps someone :)