programing

이름이 "order"인 필드의 독트린 구문 오류

stoneblock 2023. 7. 28. 21:46

이름이 "order"인 필드의 독트린 구문 오류

다음과 같은 아약스 전화가 있습니다.

var prev_sibling = $(this).prev().attr("value");
var next_sibling = $(this).next().attr("value");
var order = (prev_sibling + next_sibling)/2; 
var data = {PID:element_id, TGID:parent_id, ORD:order};
$.ajax({
        type: "POST",
        data: data,
        url:"{{ path('v2_pm_patents_dragpatents') }}",
        cache: false
});

그리고 제 행동에서 저는 주문을 받고 이렇게 설정합니다.

$order = $request->get('ORD');
$patent->setOrder($order);

하지만 아약스 호출은 나에게 다음 오류를 줍니다.

Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order = '750' WHERE id = '0d0c0810-bc75-11e1-96a5-9787dec335c2'' at line 1 (500 Internal Server Error)

저는 포스트 데이터를 정확하게 파악하고 있으며 이러한 기록을 제공하는 쿼리도 잘 작동하고 있습니다.

어디가 문제입니까?

아이디어 있어요?

잘 부탁드립니다.

문제는orderMySQL에서 예약된 단어입니다.독트린을 사용하는 경우 다음과 같이 매핑에서 예약된 단어를 피하도록 지시할 수 있습니다.

/** @Column(name="`order`", type="integer") */
private $order;

http://docs.doctrine-project.org/en/latest/reference/basic-mapping.html#quoting-reserved-words

언급URL : https://stackoverflow.com/questions/11278457/doctrine-syntax-error-with-field-named-order