Как получить доступ к значению массива count - PullRequest
0 голосов
/ 08 февраля 2019

Как получить доступ к значению массива COUNT (*)?Я получаю сообщение об ошибке Не могу использовать объект типа stdClass в качестве массива, когда я пытался использовать $availableRooms[3]['COUNT(*)']

Array
(
    [0] => stdClass Object
        (
            [category] => king
            [COUNT(*)] => 3
        )

    [1] => stdClass Object
        (
            [category] => family
            [COUNT(*)] => 7
        )

    [2] => stdClass Object
        (
            [category] => quad
            [COUNT(*)] => 8
        )

    [3] => stdClass Object
        (
            [category] => standard
            [COUNT(*)] => 7
        )

)

Мне нужно получить значение счетчика.В этом случае, когда я использую $availableRooms[3]['COUNT(*)'], он должен вывести 7

**EDIT**

Запрос

$availableRooms = DB::select("SELECT
      category, COUNT(*)
      FROM available_rooms
      WHERE NOT EXISTS (
          -- room is booked on the requested dates (...not)
          SELECT 1
          FROM room_reserveds
          JOIN bookings ON room_reserveds.bookingID = bookings.bookingID
          WHERE room_reserveds.roomID = available_rooms.roomID
          AND $checkOutDate > checkIndate
          AND $checkInDate < checkOutDate
      )
      GROUP BY category");

1 Ответ

0 голосов
/ 08 февраля 2019

Массив содержит объекты, поэтому вы не можете использовать обозначение массива для получения этих свойств.А поскольку это специальный ключ, вы можете получить свойство, поместив имя между {} в виде строки.

$availableRooms[3]->{'COUNT(*)'};

Я полагаю, что это результат запроса базы данных.Лучшим решением было бы дать этому результату псевдоним, на который можно ссылаться напрямую.

// SQL: 
SELECT COUNT(*) AS count FROM ...

// PHP:
$availableRooms[3]->count;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...