We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
1 | <?php |
||
5 | trait Read |
||
6 | { |
||
7 | /* |
||
8 | |-------------------------------------------------------------------------- |
||
9 | | READ |
||
10 | |-------------------------------------------------------------------------- |
||
11 | */ |
||
12 | |||
13 | /** |
||
14 | * Find and retrieve an entry in the database or fail. |
||
15 | * |
||
16 | * @param [int] The id of the row in the db to fetch. |
||
17 | * |
||
18 | * @return [Eloquent Collection] The row in the db. |
||
|
|||
19 | */ |
||
20 | 17 | public function getEntry($id) |
|
21 | { |
||
22 | 17 | if (! $this->entry) { |
|
23 | 17 | $this->entry = $this->model->findOrFail($id); |
|
24 | 10 | $this->entry = $this->entry->withFakes(); |
|
25 | 10 | } |
|
26 | |||
27 | 10 | return $this->entry; |
|
28 | } |
||
29 | |||
30 | /** |
||
31 | * Make the query JOIN all relationships used in the columns, too, |
||
32 | * so there will be less database queries overall. |
||
33 | */ |
||
34 | 3 | public function autoEagerLoadRelationshipColumns() |
|
35 | { |
||
36 | 3 | $relationships = $this->getColumnsRelationships(); |
|
37 | |||
38 | 3 | if (count($relationships)) { |
|
39 | 1 | $this->with($relationships); |
|
40 | 1 | } |
|
41 | 3 | } |
|
42 | |||
43 | /** |
||
44 | * Get all entries from the database. |
||
45 | * |
||
46 | * @return [Collection of your model] |
||
47 | */ |
||
48 | 5 | public function getEntries() |
|
49 | { |
||
50 | 1 | $this->autoEagerLoadRelationshipColumns(); |
|
51 | |||
52 | 1 | $entries = $this->query->get(); |
|
53 | |||
54 | // add the fake columns for each entry |
||
55 | 1 | foreach ($entries as $key => $entry) { |
|
56 | 1 | $entry->addFakes($this->getFakeColumnsAsArray()); |
|
57 | 1 | } |
|
58 | |||
59 | 1 | return $entries; |
|
60 | 5 | } |
|
61 | |||
62 | /** |
||
63 | * Get the fields for the create or update forms. |
||
64 | * |
||
65 | * @param [form] create / update / both - defaults to 'both' |
||
66 | * @param [integer] the ID of the entity to be edited in the Update form |
||
67 | * |
||
68 | * @return [array] all the fields that need to be shown and their information |
||
69 | */ |
||
70 | 23 | public function getFields($form, $id = false) |
|
71 | { |
||
72 | 23 | switch (strtolower($form)) { |
|
73 | 23 | case 'create': |
|
74 | 14 | return $this->getCreateFields(); |
|
75 | break; |
||
76 | |||
77 | 12 | case 'update': |
|
78 | 11 | return $this->getUpdateFields($id); |
|
79 | 1 | break; |
|
80 | |||
81 | default: |
||
82 | return $this->getCreateFields(); |
||
83 | break; |
||
84 | } |
||
85 | } |
||
86 | |||
87 | /** |
||
88 | * Check if the create/update form has upload fields. |
||
89 | * Upload fields are the ones that have "upload" => true defined on them. |
||
90 | * @param [form] create / update / both - defaults to 'both' |
||
91 | * @param [id] id of the entity - defaults to false |
||
92 | * @return bool |
||
93 | */ |
||
94 | 4 | public function hasUploadFields($form, $id = false) |
|
103 | |||
104 | /** |
||
105 | * Enable the DETAILS ROW functionality:. |
||
106 | * |
||
107 | * In the table view, show a plus sign next to each entry. |
||
108 | * When clicking that plus sign, an AJAX call will bring whatever content you want from the EntityCrudController::showDetailsRow($id) and show it to the user. |
||
109 | */ |
||
110 | 1 | public function enableDetailsRow() |
|
114 | |||
115 | /** |
||
116 | * Disable the DETAILS ROW functionality:. |
||
117 | */ |
||
118 | 1 | public function disableDetailsRow() |
|
122 | |||
123 | /** |
||
124 | * Set the number of rows that should be show on the table page (list view). |
||
125 | */ |
||
126 | 1 | public function setDefaultPageLength($value) |
|
130 | |||
131 | /** |
||
132 | * Get the number of rows that should be show on the table page (list view). |
||
133 | */ |
||
134 | 2 | public function getDefaultPageLength() |
|
148 | |||
149 | /* |
||
150 | |-------------------------------------------------------------------------- |
||
151 | | AJAX TABLE |
||
152 | |-------------------------------------------------------------------------- |
||
153 | */ |
||
154 | |||
155 | /** |
||
156 | * Tell the list view to use AJAX for loading multiple rows. |
||
157 | */ |
||
158 | 1 | public function enableAjaxTable() |
|
162 | |||
163 | /** |
||
164 | * Check if ajax is enabled for the table view. |
||
165 | * @return bool |
||
166 | */ |
||
167 | 2 | public function ajaxTable() |
|
171 | |||
172 | /** |
||
173 | * Get the HTML of the cells in a table row, for a certain DB entry. |
||
174 | * @param Entity $entry A db entry of the current entity; |
||
175 | * @return array Array of HTML cell contents. |
||
176 | */ |
||
177 | public function getRowViews($entry) |
||
178 | { |
||
179 | $response = []; |
||
180 | foreach ($this->columns as $key => $column) { |
||
181 | $response[] = $this->getCellView($column, $entry); |
||
182 | } |
||
183 | |||
184 | return $response; |
||
185 | } |
||
186 | |||
187 | /** |
||
188 | * Get the HTML of a cell, using the column types. |
||
189 | * @param array $column |
||
190 | * @param Entity $entry A db entry of the current entity; |
||
191 | * @return HTML |
||
192 | */ |
||
193 | public function getCellView($column, $entry) |
||
209 | |||
210 | /* |
||
211 | |-------------------------------------------------------------------------- |
||
212 | | EXPORT BUTTONS |
||
213 | |-------------------------------------------------------------------------- |
||
214 | */ |
||
215 | |||
216 | /** |
||
217 | * Tell the list view to show the DataTables export buttons. |
||
218 | */ |
||
219 | 1 | public function enableExportButtons() |
|
223 | |||
224 | /** |
||
225 | * Check if export buttons are enabled for the table view. |
||
226 | * @return bool |
||
227 | */ |
||
228 | 2 | public function exportButtons() |
|
232 | } |
||
233 |
This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types.