Как не выводить определённый параметр из базы через R::findAll?

180
23 июня 2021, 03:30

Вывожу с базу данных данные параметры, как можно не выводить параметр test_2?

Код для вывода из базы:

$test = 'test.111';
R::findAll('test', "test_1 = $test ORDER BY `id` DESC");

Вывод:

[
  {
    "id": "5",
    "test_1": "test.111",
    "test_2": "testing.5"
  },
  {
    "id": "4",
    "test_1": "test.111",
    "test_2": "testing.4"
  },
  {
    "id": "1",
    "test_1": "test.111",
    "test_2": "testing.1"
  }
]
Answer 1

При SQL запросе, вы можете указать какие поля вам "доставать", по умолчанию RedBean формирует такой запрос: SELECT * FROM ..., * - означает выбрать все поля. Давайте укажем RedBean, какие поля выбрать через кастомный SQL:

    $test = 'test.111';
    $sql = 'SELECT test.id, test.test_1 FROM test 
          WHERE test_1 = :test1 ORDER BY `id` DESC';
    $rows = R::getAll($sql, [
        'test1' => $test
    ]);  // Биндим параметр :test1, и кидаем в него значение $test
    $beans = R::convertToBeans('test',$rows);  // Преобразовываем в объекты 'Bean'

Советую так же прочитать информацию про подготовленные запросы, она вам поможет разобраться в привязывании параметров и поймете что такое 'sql инъекция' :)

READ ALSO
Ошибка в RedBean PHP

Ошибка в RedBean PHP

Когда нажимаю на кнопку выдает ошибку

83
Как получить данные из get запроса?

Как получить данные из get запроса?

Поступает такой запрос https://121ru/call

106
Cron не выполняет кусок кода

Cron не выполняет кусок кода

Файл с кодом парсера Excel файла

102