public function formatResourceField(Resource $resource, $fieldAlias, $fieldValue) { if ($fieldValue === null) { return null; } if (is_array($fieldValue)) { $relationshipObj = $resource->getRelationshipByReferencedResourceAlias($fieldAlias); return $this->formatRelationship($relationshipObj, $fieldValue); } return $this->formatSimpleFieldInResource($resource, $fieldAlias, $fieldValue); }
/** * @expectedException \InvalidArgumentException * @expectedExceptionMessage cannot find relationship for referenced resource alias 'myUnknownResource' */ public function test_that_getting_a_relationship_by_unknown_referenced_resource_alias_throws_exception() { $rootResource = new Resource('my__0', 'myCoolResource', 'my_cool_table', 'my_cool_id'); $referencedResource = new Resource('my__1', 'myOtherResource', 'my_other_table', 'my_cool_id'); $relationship = new Relationship($rootResource, $referencedResource, 'many-to-one', 'my_other_table.cool_id = my_cool_table.id'); $rootResource->addRelationship($relationship); $this->assertEquals($relationship, $rootResource->getRelationshipByReferencedResourceAlias('myUnknownResource')); }