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:
19: function setTable(Selection $name);
20:
21: /**
22: * @return Selection
23: */
24: function getTable();
25:
26: /**
27: * Returns primary key value.
28: * @param bool
29: * @return mixed
30: */
31: function getPrimary($throw = TRUE);
32:
33: /**
34: * Returns row signature (composition of primary keys)
35: * @param bool
36: * @return string
37: */
38: function getSignature($throw = TRUE);
39:
40: /**
41: * Returns referencing rows.
42: * @param string
43: * @param string
44: * @return GroupedSelection
45: */
46: function related($key, $throughColumn = NULL);
47:
48: /**
49: * Returns referenced row.
50: * @param string
51: * @param string
52: * @return IRow|NULL if the row does not exist
53: */
54: function ref($key, $throughColumn = NULL);
55:
56: }
57: