RedBeanPHP: значения в Find не работают

Я использовал приведенный ниже пример, чтобы заказать результаты в моей таблице, однако переменная orderby, похоже, не влияет на порядок результатов. Я не могу получить доступ к базовому SQL-запросу, чтобы узнать, что делает RedBean, и я проверил, и $ sortorder и $ sort являются правильными значениями.

$needles = R::find('needle',
    ' haystack = :haystack ORDER BY :sortorder :sort', 
        array( 
            ':sort' => $sort
            ':sortorder'=>$sortorder, 
            ':haystack'=>$haystack 
        )
    );
1
nl ja de
Да, я создал таблицу, чтобы я мог разглядеть Redbean, но команда Order BY не имеет никакого эффекта
добавлено автор James Campbell, источник
Это действительно ваш запрос? У вас есть таблица с именем «игла» с колонкой с именем «haystack»?
добавлено автор Tim Withers, источник
Отредактируйте сообщение и покажите var_dump ($ andles);
добавлено автор Tim Withers, источник

2 ответы

Связывание параметров предназначено для значений, в предложении order-by используются столбцы и операторы SQL.

RedBeanPHP полагается на привязку параметров PDO, что отлично подходит для (помимо прочего) предотвращения инъекций SQL.

Here is discussion about the limitations of PDO parameter binding in PHP: Why doesn't binding parameter in ORDER BY clause order the results?

1
добавлено

Но вы можете легко подготовить строку запроса до:

$query = sprintf('ORDER BY %s %s LIMIT :size', $column, $sortOrder);

$items = R::find(
    'item',
    $query,
    array(
        'size' => (int) $size
    )
);
1
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp