1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (https://nette.org)
5: * Copyright (c) 2004 David Grudl (https://davidgrudl.com)
6: */
7:
8: namespace Nette\Database\Table;
9:
10: use Nette\Database;
11:
12:
13: /**
14: * Row interface.
15: */
16: interface IRow extends Database\IRow
17: {
18: function setTable(Selection $name);
19:
20: /**
21: * @return Selection
22: */
23: function getTable();
24:
25: /**
26: * Returns primary key value.
27: * @param bool
28: * @return mixed
29: */
30: function getPrimary($throw = true);
31:
32: /**
33: * Returns row signature (composition of primary keys)
34: * @param bool
35: * @return string
36: */
37: function getSignature($throw = true);
38:
39: /**
40: * Returns referencing rows.
41: * @param string
42: * @param string
43: * @return GroupedSelection
44: */
45: function related($key, $throughColumn = null);
46:
47: /**
48: * Returns referenced row.
49: * @param string
50: * @param string
51: * @return IRow|null if the row does not exist
52: */
53: function ref($key, $throughColumn = null);
54: }
55: