| @@ 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. | |