I am facing a strange issue. When I do NumberConfiguration::all()
I receive the following result:
[{"id":1,"created_at":"2022-09-13 09:48:51+0200","updated_at":"2022-09-13 09:49:12+0200","block_start":"41582550003","block_end":"41582550003","number_block_id":1,"special_numbers":null}]
but in the database I have actually 2 record:
I didnt find anything what can cause this problem, that not all record are represented by the eloquent model biding. I am using postgresql database.
There is an observer in the parent class, but even if I comment it out the same problem occurs.
class NumberConfiguration extends BaseConcreteProductConfiguration { protected $table = 'shop.numbers_configurations'; // Needs to be present in every ConcreteConfiguration file who has a Observer with action on cart to order protected $fillable = [ 'updated_at' ]; protected $casts = [ 'special_numbers' => 'array' ]; public static function getValidations(string $prefix = ''): array { return [ $prefix . 'block_start' => [ 'nullable' ], $prefix . 'block_end' => [ 'nullable' ], $prefix . 'number_block_id' => [ 'nullable', 'numeric' ], $prefix . 'special_numbers' => [ 'nullable' ], ]; } public static function getManager(): ConfigurationManagerInterface { return new NumberConfigurationManager(); } public function getDescription(): ?string { $numberBlock = NumberBlock::find($this->number_block_id); if (!is_null($numberBlock)) { $numbers = $numberBlock->numbers()->pluck('did'); if (!empty($numbers)) { return NumberManager::groupNumberToDisplayWithLocalPrefix(NumberManager::groupNumbersByRange($numbers)) ->reduce(fn($a, $b) => $a . $b . ' '); } else { Log::warning('configuration description not available, no numbers for block: ' . $this->number_block_id); } } return null; } }
Any help is higly appriciated.
Advertisement
Answer
Check out for global scopes.
NumberConfiguration::withoutGlobalScopes()->get();
This is how you disable global scopes and retrieve everything.