Построитель запросов и условные выражения - PullRequest
1 голос
/ 30 мая 2011
$query = DB::select('thing')->from('things')->where('thing', '=', 'something');

if ($other_thing)
{
    $query->and_where('other_thing', '=', 'something else');
}

$query->order_by('thing', 'ASC')->limit(10)->execute()->as_array();

foreach ($query as $row)
{
    echo $row['thing'];
}

А в чем проблема?

Ну:

echo $row['thing'] -> nothing.
print_r($query) -> an object and not an array.

Что я делаю не так?Может ли кто-нибудь помочь мне в этом?Пожалуйста!

Спасибо!

Ответы [ 2 ]

0 голосов
/ 31 мая 2011

Чтобы развернуть приведенный выше ответ, проблема в том, что функция execute фактически возвращает экземпляр Database_Result .Как указывалось выше, вы можете вызывать различные функции для этого объекта, которые затем будут возвращать данные в различных форматах (полный список доступных функций см. В предыдущей ссылке)

Это обеспечивает различные преимущества - эта страница описывает их всех

0 голосов
/ 30 мая 2011

попробуйте это:

$result = $query->order_by('thing', 'ASC')->limit(10)->execute()->as_array();

foreach ($result as $row)
{
    echo $row['thing'];
}
...