@@ 199-234 (lines=36) @@ | ||
196 | * |
|
197 | * @return $this |
|
198 | */ |
|
199 | public function model($model, $idField = 'id', $textField = 'name') |
|
200 | { |
|
201 | $this->options = function ($resource) use ($model, $idField, $textField) { |
|
202 | if (null == $resource) { |
|
203 | return []; |
|
204 | } |
|
205 | ||
206 | if (is_array($resource) && !empty($resource) && isset($resource[0]['id'])) { |
|
207 | $resource = array_map(function ($res) { |
|
208 | return $res['id']; |
|
209 | }, $resource); |
|
210 | } elseif (is_array($resource) && !empty($resource) && isset($resource['id'])) { |
|
211 | $resource = $resource['id']; |
|
212 | } |
|
213 | ||
214 | $model = $model::find($resource); |
|
215 | ||
216 | if ($model) { |
|
217 | if ($model instanceof \Illuminate\Support\Collection) { |
|
218 | $results = []; |
|
219 | ||
220 | foreach ($model as $result) { |
|
221 | $results[$result->{$idField}] = $result->{$textField}; |
|
222 | } |
|
223 | ||
224 | return $results; |
|
225 | } |
|
226 | ||
227 | return [$model->{$idField} => $model->{$textField}]; |
|
228 | } |
|
229 | ||
230 | return []; |
|
231 | }; |
|
232 | ||
233 | return $this; |
|
234 | } |
|
235 | ||
236 | /** |
|
237 | * Load options from remote. |
@@ 98-133 (lines=36) @@ | ||
95 | * |
|
96 | * @return $this |
|
97 | */ |
|
98 | public function model($model, $idField = 'id', $textField = 'name') |
|
99 | { |
|
100 | $this->options = function ($resource) use ($model, $idField, $textField) { |
|
101 | if (null == $resource) { |
|
102 | return []; |
|
103 | } |
|
104 | ||
105 | if (is_array($resource) && !empty($resource) && isset($resource[0]['id'])) { |
|
106 | $resource = array_map(function ($res) { |
|
107 | return $res['id']; |
|
108 | }, $resource); |
|
109 | } elseif (is_array($resource) && !empty($resource) && isset($resource['id'])) { |
|
110 | $resource = $resource['id']; |
|
111 | } |
|
112 | ||
113 | $model = $model::find($resource); |
|
114 | ||
115 | if ($model) { |
|
116 | if ($model instanceof \Illuminate\Support\Collection) { |
|
117 | $results = []; |
|
118 | ||
119 | foreach ($model as $result) { |
|
120 | $results[$result->{$idField}] = $result->{$textField}; |
|
121 | } |
|
122 | ||
123 | return $results; |
|
124 | } |
|
125 | ||
126 | return [$model->{$idField} => $model->{$textField}]; |
|
127 | } |
|
128 | ||
129 | return []; |
|
130 | }; |
|
131 | ||
132 | return $this; |
|
133 | } |
|
134 | ||
135 | /** |
|
136 | * Load options from remote. |