1: <?php
2:
3: namespace PHPixie\ORM\Drivers\Driver\SQL;
4:
5: abstract class Repository extends \PHPixie\ORM\Models\Type\Database\Implementation\Repository
6: {
7: protected $dataBuilder;
8:
9: public function __construct($databaseModel, $database, $dataBuilder, $config)
10: {
11: parent::__construct($databaseModel, $database, $config);
12: $this->dataBuilder = $dataBuilder;
13: }
14:
15: protected function updateEntityData($id, $data)
16: {
17: $set = (array) $data->diff()->set();
18: if(!empty($set)) {
19: $this->databaseUpdateQuery()
20: ->set($set)
21: ->where($this->config->idField, $id)
22: ->execute();
23: }
24: }
25:
26: protected function buildData($data = null)
27: {
28: return $this->dataBuilder->map($data);
29: }
30:
31: protected function setQuerySource($query)
32: {
33: $query->table($this->config->table);
34: return $query;
35: }
36: }
37: