Opening Models with enums and other resources gives this errors
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 45/100
Direzione di ricerca
Apri src/Factories/AttributeItem.php e ispeziona getValues(), in particolare il modo in cui viene analizzato il risultato di SHOW COLUMNS per i valori enum. Riproduci il caso del modello enum o resource con la configurazione SingleStore segnalata, quindi verifica che l’apertura del modello non generi più l’errore di chiave dell’array non definita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
OS: darwin
Invoker Version: 2.13.2
Laravel Version: 9.52.16
Local project: true
PHP Binary: /opt/local/bin/php
Route: /project/index?class=App%5CProject&time=1699447934372&project=local-pRqsxUxr4R3JiW2v2nbauD
Error:
ErrorException
Undefined array key 1
at phar:/Applications/Invoker.app/Contents/Resources/invoker.phar/src/Factories/AttributeItem.php:39
35▕ public static function getValues(\Illuminate\Database\Eloquent\Model $model, $column)
36▕ {
37▕ $type = $model->getConnection()->select("SHOW COLUMNS FROM `{$model->getTable()}` WHERE Field = '{$column->getName()}'")[0]->Type;
38▕ \preg_match("/^enum\\(\\'(.*)\\'\\)\$/", $type, $matches);
➜ 39▕ $values = \explode("','", $matches[1]);
40▕ return $values;
41▕ }
42▕ public static function getCastFromColumn(\Illuminate\Database\Eloquent\Model $model, $column) : ?string
43▕ {
1 phar:/Applications/Invoker.app/Contents/Resources/invoker.phar/src/Factories/AttributeItem.php:39
Illuminate\Foundation\Bootstrap\HandleExceptions::Illuminate\Foundation\Bootstrap\{closure}("Undefined array key 1", "phar:///Applications/Invoker.app/Contents/Resources/invoker.phar/src/Factories/AttributeItem.php")
2 phar:/Applications/Invoker.app/Contents/Resources/invoker.phar/src/Factories/AttributeItem.php:25
_HumbugBoxeb1c6394dc9c\Invoker\Factories\AttributeItem::getValues(Object(App\Project), Object(Doctrine\DBAL\Schema\Column))
Probably the reason this is broken is because the query isn't working completely on SingleStore.
The fix is fairly easy in src/Factories/AttributeItem.php
@@ -34,7 +34,7 @@
}
public static function getValues(\Illuminate\Database\Eloquent\Model $model, $column)
{
+ $type = $model->getConnection()->select("SHOW COLUMNS FROM `{$model->getTable()}` LIKE '{$column->getName()}'")[0]->Type;
- $type = $model->getConnection()->select("SHOW COLUMNS FROM `{$model->getTable()}` WHERE Field = '{$column->getName()}'")[0]->Type;
\preg_match("/^enum\\(\\'(.*)\\'\\)\$/", $type, $matches);
$values = \explode("','", $matches[1]);
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 76
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di beyondcode/invoker-community
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
beyondcode/invoker-community#400 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
beyondcode/invoker-community#399 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
beyondcode/invoker-community#398 ·
-
feature request
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
beyondcode/invoker-community#397 ·
-
Invoker issueAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
beyondcode/invoker-community#396 ·
Tutte le issue di beyondcode/invoker-community
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
polarsource/polar#15580 ·
I maintainer di solito rispondono entro 1 giorno
-
accepted bug via-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
pingdotgg/t3code#20931 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug/1-unconfirmed kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
plone/plone.scale#167 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno