Привязки параметров ReadBeanPHP для нескольких значений

Чтение документации на http://www.redbeanphp.com/querying он привел несколько примеров использования привязок параметров. Но у меня есть несколько вопросов, используя его:

Вопрос 1:

Вот оригинальный пример

R::getAll( 'SELECT * FROM page WHERE title = :title',
[':title' => 'home']
);

Но что, если я хочу заменить более одного значения для поиска в операторе SQL (например, добавить год)? Правильно ли написать:

R::getAll( 'SELECT * FROM page WHERE title = :title AND year > :year',
[':title' => 'home', ':year' => 2012]
);

Вопрос 2:

В этом примере используется знак вопроса? для замены

R::getRow( 'SELECT * FROM page WHERE title LIKE ? LIMIT 1',
[ '%Jazz%' ]
);

Если я хочу добавить год, должен ли он быть написан так, добавив второй знак вопроса в запросе?

R::getRow( 'SELECT * FROM page WHERE title LIKE ? AND year > ? LIMIT 1',
[ '%Jazz%', 2012 ]
);

Вопрос 3:

До сих пор документация приводила только примеры для функций getAll () и getRow (). Будет ли это также работать для R :: exec ()? Например:

R::exec( 'UPDATE page SET title="test" WHERE id = ? AND year > ?',
[ 101, 2012 ]
);

R::exec( 'UPDATE page SET title="test" WHERE id = :id AND year > :year',
[ ':id' => 101, ':year' => 2012 ]
);

Спасибо!

0

Решение

Все ваши ответы верны.

Если вы заглянули в файл rb.php, вы можете найти класс Facade и его функции:

public static function exec( $sql, $bindings = array() )

public static function getAll( $sql, $bindings = array() )

Второй параметр — это массив для привязок.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]