diff --git a/README.md b/README.md index 0259d1f..c695b4a 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,11 @@ class User */ public $status; + /** + * @var array + */ + public $service_ids = array(); + /** * @return bool */ @@ -80,6 +85,7 @@ class UserProducer extends ModelProducerProxyAbstract { protected static $tableName = 'user'; protected static $modelClass = 'OurApplication\Model\User'; + protected static $excludedFields = array('service_ids'); public function getDefinition() { diff --git a/src/Fabrika/Producer/ModelProducer.php b/src/Fabrika/Producer/ModelProducer.php index 5986362..5a0a038 100644 --- a/src/Fabrika/Producer/ModelProducer.php +++ b/src/Fabrika/Producer/ModelProducer.php @@ -69,7 +69,13 @@ public function build(array $attributes = null) public function create(array $attributes = null) { $class = $this->build($attributes); - $attributes = get_object_vars($class); + $tempAttributes = get_object_vars($class); + $attributes = array(); + foreach ($tempAttributes as $key => $value) { + if (!in_array($key, $this->excludedFields)) { + $attributes[$key] = $value; + } + } $attributeKeys = implode(', ', array_keys($attributes)); $attributeValues = substr(str_repeat('?,', count($attributes)), 0, -1);