| @@ 6-40 (lines=35) @@ | ||
| 3 | namespace CraftLogan\LaravelOverflow; |
|
| 4 | use Illuminate\Support\Facades\Schema; |
|
| 5 | ||
| 6 | trait Overflowable{ |
|
| 7 | ||
| 8 | public function allWithOverflow() |
|
| 9 | { |
|
| 10 | $properties[$this->overflow_column] = $this->overflow(); |
|
| 11 | return array_merge($properties, $this->getColumns()); |
|
| 12 | } |
|
| 13 | ||
| 14 | public function getColumns() |
|
| 15 | { |
|
| 16 | $columnNames = $this->getColumnNames(); |
|
| 17 | $attributes = array_intersect_key($this->all(), $columnNames); |
|
| 18 | return $attributes; |
|
| 19 | } |
|
| 20 | ||
| 21 | public function overflow() |
|
| 22 | { |
|
| 23 | $columnNames = $this->getColumnNames(); |
|
| 24 | $attributes = array_diff_key($this->all(), $columnNames); |
|
| 25 | $attributes = json_encode($attributes); |
|
| 26 | return $attributes; |
|
| 27 | } |
|
| 28 | ||
| 29 | public function getTableColumns() |
|
| 30 | { |
|
| 31 | return Schema::getColumnListing($this->table); |
|
| 32 | } |
|
| 33 | ||
| 34 | public function getColumnNames() |
|
| 35 | { |
|
| 36 | $columnNames = $this->getTableColumns(); |
|
| 37 | $columnNames = array_fill_keys($columnNames, ""); |
|
| 38 | return $columnNames; |
|
| 39 | } |
|
| 40 | } |
|
| 41 | ||
| @@ 6-35 (lines=30) @@ | ||
| 3 | namespace CraftLogan\LaravelOverflow; |
|
| 4 | use Illuminate\Support\Facades\Schema; |
|
| 5 | ||
| 6 | trait Overflowable{ |
|
| 7 | ||
| 8 | public function allWithOverflow() |
|
| 9 | { |
|
| 10 | $properties[$this->overflow_column] = $this->overflow(); |
|
| 11 | return array_merge($properties, $this->getColumns()); |
|
| 12 | } |
|
| 13 | ||
| 14 | public function getColumns() |
|
| 15 | { |
|
| 16 | $columnNames = $this->getTableColumns(); |
|
| 17 | $columnNames = array_fill_keys($columnNames, ""); |
|
| 18 | $attributes = array_intersect_key($this->all(), $columnNames); |
|
| 19 | return $attributes; |
|
| 20 | } |
|
| 21 | ||
| 22 | public function overflow() |
|
| 23 | { |
|
| 24 | $columnNames = $this->getTableColumns(); |
|
| 25 | $columnNames = array_fill_keys($columnNames, ""); |
|
| 26 | $attributes = array_diff_key($this->all(), $columnNames); |
|
| 27 | $attributes = json_encode($attributes); |
|
| 28 | return $attributes; |
|
| 29 | } |
|
| 30 | ||
| 31 | public function getTableColumns() |
|
| 32 | { |
|
| 33 | return Schema::getColumnListing($this->table); |
|
| 34 | } |
|
| 35 | } |
|
| 36 | ||