0
cakePHP3을 사용하고 있으며 다음은 단가가 pdo 바인드 매개 변수와 같을 때 데이터를 가져 오기 위해 사용하고있는 쿼리의 디버그입니다.float 값이 작동하지 않는 Cakephp 3 조건
'sql' => 'SELECT Dockets.id AS `Dockets__id`, Dockets.docketnum AS `Dockets__docketnum`, Branches.name AS `Branches__name`, Contacts.fname AS `Contacts__fname`, Contacts.lname AS `Contacts__lname`, Dockets.description AS `Dockets__description`, Dockets.quantity AS `Dockets__quantity`, Dockets.unitprice AS `Dockets__unitprice`, Dockets.status AS `Dockets__status`, Dockets.mailshipping AS `Dockets__mailshipping`, Dockets.mailorder AS `Dockets__mailorder`, ShippingForms.id AS `ShippingForms__id`, ShippingForms.status AS `ShippingForms__status`, VariablePrinterForms.start_prefix AS `VariablePrinterForms__start_prefix`, VariablePrinterForms.stop_prefix AS `VariablePrinterForms__stop_prefix` FROM dockets Dockets LEFT JOIN branches Branches ON Branches.id = (Dockets.branch_id) LEFT JOIN contacts Contacts ON Contacts.id = (Dockets.contact_id) LEFT JOIN shipping_forms ShippingForms ON Dockets.id = (ShippingForms.docket_id) LEFT JOIN variable_printer_forms VariablePrinterForms ON Dockets.id = (VariablePrinterForms.docket_id) LEFT JOIN lamdie_forms LamdieForms ON Dockets.id = (LamdieForms.docket_id) LEFT JOIN label_press_forms LabelPressForms ON Dockets.id = (LabelPressForms.docket_id) WHERE Dockets.unitprice = :c0 ORDER BY Dockets.docketnum desc LIMIT 25',
'params' => [
':c0' => [
'value' => '56.58',
'type' => 'float',
'placeholder' => 'c0'
]
그러나이 쿼리는 결과를 반환하지 않습니다. 내가
SELECT Dockets.id AS `Dockets__id`, Dockets.docketnum AS `Dockets__docketnum`, Branches.name AS `Branches__name`, Contacts.fname AS `Contacts__fname`, Contacts.lname AS `Contacts__lname`, Dockets.description AS `Dockets__description`, Dockets.quantity AS `Dockets__quantity`, Dockets.unitprice AS `Dockets__unitprice`, Dockets.status AS `Dockets__status`, Dockets.mailshipping AS `Dockets__mailshipping`, Dockets.mailorder AS `Dockets__mailorder`, ShippingForms.id AS `ShippingForms__id`, ShippingForms.status AS `ShippingForms__status`, VariablePrinterForms.start_prefix AS `VariablePrinterForms__start_prefix`, VariablePrinterForms.stop_prefix AS `VariablePrinterForms__stop_prefix` FROM dockets Dockets LEFT JOIN branches Branches ON Branches.id = (Dockets.branch_id) LEFT JOIN contacts Contacts ON Contacts.id = (Dockets.contact_id) LEFT JOIN shipping_forms ShippingForms ON Dockets.id = (ShippingForms.docket_id) LEFT JOIN variable_printer_forms VariablePrinterForms ON Dockets.id = (VariablePrinterForms.docket_id) LEFT JOIN lamdie_forms LamdieForms ON Dockets.id = (LamdieForms.docket_id) LEFT JOIN label_press_forms LabelPressForms ON Dockets.id = (LabelPressForms.docket_id) WHERE Dockets.unitprice = 56.58 ORDER BY Dockets.docketnum desc LIMIT 25
로 phpMyAdmin을 동일한 쿼리를 사용하는 경우 그러나 그것은 결과의 무리를 반환합니다. 케이크가 왜 여기에 어떤 결과를 제공하지 않는지 누구든지 말해 줄 수 있습니까? 데이터베이스의 필드는 float (10,3)로 설정됩니다.
debugkit 로그가
SELECT Dockets.id AS `Dockets__id`, Dockets.docketnum AS `Dockets__docketnum`, Branches.name AS `Branches__name`, Contacts.fname AS `Contacts__fname`, Contacts.lname AS `Contacts__lname`, Dockets.description AS `Dockets__description`, Dockets.quantity AS `Dockets__quantity`, Dockets.unitprice AS `Dockets__unitprice`, Dockets.status AS `Dockets__status`, Dockets.mailshipping AS `Dockets__mailshipping`, Dockets.mailorder AS `Dockets__mailorder`, ShippingForms.id AS `ShippingForms__id`, ShippingForms.status AS `ShippingForms__status`, VariablePrinterForms.start_prefix AS `VariablePrinterForms__start_prefix`, VariablePrinterForms.stop_prefix AS `VariablePrinterForms__stop_prefix` FROM dockets Dockets LEFT JOIN branches Branches ON Branches.id = (Dockets.branch_id) LEFT JOIN contacts Contacts ON Contacts.id = (Dockets.contact_id) LEFT JOIN shipping_forms ShippingForms ON Dockets.id = (ShippingForms.docket_id) LEFT JOIN variable_printer_forms VariablePrinterForms ON Dockets.id = (VariablePrinterForms.docket_id) LEFT JOIN lamdie_forms LamdieForms ON Dockets.id = (LamdieForms.docket_id) LEFT JOIN label_press_forms LabelPressForms ON Dockets.id = (LabelPressForms.docket_id) WHERE Dockets.unitprice = 56.58 ORDER BY Dockets.docketnum desc LIMIT 25 OFFSET 0
감사
내 질문하지만 당신은 실제로 쿼리를 실행 했습니까? '$ query-> toArray()'또는'$ query-> all()'과 같은 것을 했습니까? – arilia
예. $ query-> toArray()는 빈 집합 ([])을 제공합니다. –
실제로 실행 된 쿼리를 디버깅하고 게시 할 수 있습니까? 디버그 모드가 활성화 될 때 debugKit의 SqlLog 패널에 표시되는 것 – arilia