You can use a so called "Query Scope" in your Contact Model, something like this:
http://laravel.com/docs/5.0/eloquent#query-scopes
<?php
class Contact {
/* Common model fields */
/*
* Query scope to get just primary contacts
*/
public function scopePrimary($query)
{
return $query->where('is_primary', 1);
}
}
Then in your view you can access it like this i think:
$family->contacts->primary()->first_name