Completed
Push — master ( bcca1d...88e4a9 )
by Chris
03:02
created

Result::createFromDatabaseResult()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 3
rs 10
cc 1
eloc 1
nc 1
nop 1
1
<?php
2
namespace Darya\Database\Storage;
3
4
use Darya\Database\Query as DatabaseQuery;
5
use Darya\Database\Result as DatabaseResult;
6
use Darya\Storage\Query as StorageQuery;
7
use Darya\Storage\Result as StorageResult;
8
9
/**
10
 * Storage result specific to working with database storage.
11
 * 
12
 * @property DatabaseQuery $databaseQuery Database query produced by the storage query that produced this result
13
 * 
14
 * @author Chris Andrew <[email protected]>
15
 */
16
class Result extends StorageResult {
17
	
18
	/**
19
	 * @var DatabaseQuery
20
	 */
21
	protected $databaseQuery;
22
	
23
	/**
24
	 * Create a new database storage result from the given storage query and
25
	 * attach the given database connection result.
26
	 * 
27
	 * @param StorageQuery   $query
28
	 * @param DatabaseResult $result
29
	 * @return StorageResult
30
	 */
31
	public static function createWithDatabaseResult(StorageQuery $query, DatabaseResult $result) {
32
		$instance = new static($query, $result->data, $result->getInfo(), $result->error);
33
		
34
		$instance->setDatabaseQuery($result->query);
35
		
36
		return $instance;
37
	}
38
	
39
	/**
40
	 * Set the database query of the result.
41
	 * 
42
	 * @param DatabaseQuery $query
43
	 */
44
	public function setDatabaseQuery(DatabaseQuery $query) {
45
		$this->databaseQuery = $query;
46
	}
47
	
48
}
49