public function hasOne(EntityInterface $entity, $foreignEntity, $foreignKey)
{
$localKey = $this->primaryKeyField();
if (!is_subclass_of($foreignEntity, 'Spot\\EntityInterface')) {
throw new \InvalidArgumentException("Related entity name must be a " . "valid entity that extends Spot\\Entity. Given '" . $foreignEntity . "'.");
}
// Return relation object so query can be lazy-loaded
return new Relation\HasOne($this, $foreignEntity, $foreignKey, $localKey, $entity->{$localKey});
}