Partkeepr: Ошибка сканирования ΠΏΡ€ΠΈ использовании ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π΄Π΅Ρ‚Π°Π»ΠΈ

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 14 нояб. 2017  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: partkeepr/PartKeepr

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ PartKeepr 1.3.0

Π£ мСня ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° со сканированиСм ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ измСнСния Π΄Π΅Ρ‚Π°Π»ΠΈ.

Π― создал ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹ с прСфиксом Β«PID -Β» + ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄Π΅Ρ‚Π°Π»ΠΈ.

Π― установил ΠΊΠΎΠ΄ Β«PID-Β» Π² PartKeepr с Β«Search PartΒ» Π² качСствС дСйствия, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π» PartKeepr.PartBundle.Entity.Part. @id Π² качСствС поля поиска.

Π― ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Ρ‹ для мСст хранСния, ΠΈ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ запрос Π½Π° Π΄Π΅Ρ‚Π°Π»ΠΈ Π² этом мСстС, ΠΊΠ°ΠΊ ΠΈ оТидалось. ΠŸΠΎΡ…ΠΎΠΆΠ΅, это относится ΠΊ поиску Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

Когда я ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽ ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«PID-12Β», PartKeepr Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° сканированиС, Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

[БинтаксичСская ошибка] строка 0, столбСц 83: Ошибка: Expected =, <, <=, <>,>,> =,! =, ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ 'id'

Запрос

ΠŸΠžΠ›Π£Π§Π˜Π’Π¬ http://192.168.0.196/parts/web/api/parts?_dc=1510689688405

Код состояния ΠΎΡ‚Π²Π΅Ρ‚Π°

500

ΠžΡ‚Π²Π΅Ρ‚

{"@context": "\ / parts \ / web \ / api \ / context \ / Error", "@ type": "Error", " hydra: title ": "ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка", " hydra: description " : "[БинтаксичСская ошибка] строка 0, столбСц 83: Ошибка: ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ =, \ u003C, \ u003C =, \ u003C \ u003E, \ u003E, \ u003E =,! =, Got \ u0027id \ u0027"}

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сСрвСра

doctrine_orm_version: 2.5.4
doctrine_dbal_version: 2.5.2
doctrine_common_version: 2.6.0-DEV
php_version: 7.0.22-0ubuntu0.16.04.1
auto_start_session: ΠΏΡ€Π°Π²Π΄Π°
maxUploadSize: 2097152
isOctoPartAvailable: лоТь
ДоступныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: JPG, GIF, PNG
max_users: Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎ
Authentication_provider: PartKeepr.Auth.HTTPBasicAuthenticationProvider
tip_of_the_day_uri: https://partkeepr.org/tips/%s
password_change: ΠΏΡ€Π°Π²Π΄Π°
patreonStatus: [ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Object]

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π›ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ - Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя свойства нСпосрСдствСнно Π² src/PartKeepr/DoctrineReflectionBundle/Filter/AssociationPropertyTrait.php

public function setProperty($property)
{
    $this->property = str_replace("@", "", $property);
}

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΡƒΠΌΠ°ΡŽ, я знаю, Ρ‡Ρ‚ΠΎ здСсь происходит, Π½ΠΎ Π½Π΅ знаю, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π² запросС GET ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ id добавляСтся @.

Когда это происходит, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, Ссли я измСняю запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽ этот символ @, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

{"@context":"\/parts\/web\/api\/contexts\/Part","@id":"\/parts\/web\/api\/parts?_dc=1510773608949\u0026page=1\u0026start=0\u0026itemsPerPage=50\u0026group={"property":"categoryPath","direction":"ASC"}\u0026order=[{"property":"category.categoryPath","direction":"ASC"},{"property":"name","direction":"ASC"}]\u0026filter=[{"subfilters":[{"subfilters":[],"property":"id","operator":"LIKE","value":"43W"}],"type":"OR"}]","@type":"hydra:PagedCollection","hydra:totalItems":0,"hydra:itemsPerPage":50,"hydra:firstPage":"\/parts\/web\/api\/parts?_dc=1510773608949\u0026start=0\u0026itemsPerPage=50\u0026group={"property":"categoryPath","direction":"ASC"}\u0026order=[{"property":"category.categoryPath","direction":"ASC"},{"property":"name","direction":"ASC"}]\u0026filter=[{"subfilters":[{"subfilters":[],"property":"id","operator":"LIKE","value":"43W"}],"type":"OR"}]","hydra:lastPage":"\/parts\/web\/api\/parts?_dc=1510773608949\u0026start=0\u0026itemsPerPage=50\u0026group={"property":"categoryPath","direction":"ASC"}\u0026order=[{"property":"category.categoryPath","direction":"ASC"},{"property":"name","direction":"ASC"}]\u0026filter=[{"subfilters":[{"subfilters":[],"property":"id","operator":"LIKE","value":"43W"}],"type":"OR"}]","hydra:member":[],"hydra:search":{"@type":"hydra:IriTemplate","hydra:template":"\/parts\/web\/api\/parts{?}","hydra:variableRepresentation":"BasicRepresentation","hydra:mapping":[]}}

ΠŸΠΎΡ…ΠΎΠΆΠ΅, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ интСрфСйсу ΠΎ нСобходимости Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ поисковый запрос ...?

Π˜Ρ‚Π°ΠΊ, я ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ вопрос Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этого @ Π² запрос GET ΠΏΡ€ΠΈ сканировании ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄Π°?

Π₯ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, я нашСл Ρ€Π°Π±ΠΎΡ‚Ρƒ.

МнС ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, я ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта, ΠΈ поиск Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ оТидалось:

/src/PartKeepr/DoctrineReflectionBundle/Filter/AdvancedSearchFilter.php

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ строку 353 From:

$filter->setProperty($data->property);
К:
$filter->setProperty(str_replace("@","",$data->property));

Π’ основном это символ @, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· запроса GET Ajax. Π― Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½, Π³Π΄Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΠΎΠ³ΠΎ сработало для мСня ΠΊΠ°ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ исправлСниС, ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Π²ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ΡΡ Π² вопрос, ΠΊΠ°ΠΊ этого Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ...

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ https://github.com/partkeepr/PartKeepr/issues/894

Π›ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ - Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя свойства нСпосрСдствСнно Π² src/PartKeepr/DoctrineReflectionBundle/Filter/AssociationPropertyTrait.php

public function setProperty($property)
{
    $this->property = str_replace("@", "", $property);
}
Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

christianlupus picture christianlupus  Β·  55ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

dani2bunny picture dani2bunny  Β·  24ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

michielbrink picture michielbrink  Β·  7ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

baradhili picture baradhili  Β·  17ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

kgabryszewska picture kgabryszewska  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ