За последние 24 часа нас посетили 18805 программистов и 1606 роботов. Сейчас ищут 680 программистов ...

Выполнить SQL запрос

Тема в разделе "Laravel", создана пользователем vah-smile, 18 дек 2021.

  1. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Доброго времени суток!
    Нужно выполить вот такой SQL запрос:
    Код (Text):
    1. select *
    2. from ceo a
    3. left join ceo b on a.cid = b.cid
    Делаю следующим образом:

    Код (Text):
    1. DB::select( 'SELECT * FROM ceo a LEFT JOIN ceo b ON a.cid = b.cid' );
    В результате получаю:
    Вопрос: как достичь такого же результата как и в phpmyadmin ?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.788
    Симпатии:
    1.328
    Адрес:
    Лень
    попробуй в массиве вывести результат, с одинаковыми ключами ;)
     
  3. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Ну я с одной стороны понимаю, что DB::select возвращает массив, а так как в массиве ключи должны быть уникальными - то потому и такой результат. Суть вопроса - достичь такого же результата как и в phpmyadmin
     

    Вложения:

  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.788
    Симпатии:
    1.328
    Адрес:
    Лень
    в ручную

    a.id AS a_id,
    a.name AS a_name,
    ...
     
  5. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    я понимаю, но в моем случае это не подойдет, так как в целях образования - ученик должен написать SQL запрос на сайте и получить ответ такой же как в phpmyadmin. По завершению - ученик получает оценку.
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.788
    Симпатии:
    1.328
    Адрес:
    Лень
    PHP:
    1. (
    2.     [0] => 1
    3.     [1] => mouse-zver@xaker.ru
    4.     [2] => mouse-zver@xaker.ru
    5.     [3] => 7dq0qLisfjEQlRI4eftrhcY7GkSs4pot84CYFBUihMA6VPpXpeK3PPlLp+EWYWjYW6LbusKyvUYHL1FEekZSVQ==
    6.     [4] => ["ROLE_USER"]
    7.     [5] => 1
    8.     [6] => 2021-12-05 17:40:48
    9.     [7] => 1
    10.     [8] => mouse-zver@xaker.ru
    11.     [9] => mouse-zver@xaker.ru
    12.     [10] => 7dq0qLisfjEQlRI4eftrhcY7GkSs4pot84CYFBUihMA6VPpXpeK3PPlLp+EWYWjYW6LbusKyvUYHL1FEekZSVQ==
    13.     [11] => ["ROLE_USER"]
    14.     [12] => 1
    15.     [13] => 2021-12-05 17:40:48
    16. )
    PHP:
    1. $stmt = $this -> app -> database -> query( 'SELECT * FROM uvu_users u1 LEFT JOIN uvu_users u2 ON u2.id = u1.id' );
    2.  
    3. print_r ( $stmt -> get( Nouvu :: FETCH_NUM ) );
    ;)
     
  7. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Нашел решение при помощи PHP ))

    PHP:
    1. $db_config = mysqli_connect(
    2.     getenv('DB_HOST'),
    3.     getenv('DB_USERNAME'),
    4.     getenv('DB_PASSWORD'),
    5.     getenv('DB_DATABASE')
    6. );
    7.  
    8. $query_string = 'SELECT * FROM ceo a LEFT JOIN ceo b ON a.cid = b.cid';
    9.  
    10. $result = mysqli_query($db_config, $query_string);
    11. $data['fields'] = mysqli_fetch_fields($result);
    12. $data['rows'] = mysqli_fetch_all($result);
    Всем спасибо. Вопрос закрыт.