cakePHP find() возвращает имя поля, а не только значения столбца

Я пытаюсь получить данные из своей базы данных, используя метод find().

Но когда я использую find('all'), он возвращает значение столбца и имя столбца вместе, например: { "date_1": "2015-25-12"}, конечно, я хочу только значения из столбца.

Если я использую find('list'), он возвращается пустым.

Вот как я пытаюсь получить свои данные:

$date1 = $this->Stocks->find('all', ['fields' => ['Stocks.date_1'], 'conditions' => ['Stocks.families_id' => $id]]);

Это моя таблица:

CREATE TABLE stocks
(
  families_id integer,
  date_1 date NOT NULL,
  date_2 date,
  created timestamp without time zone,
  modified timestamp without time zone,
  id serial NOT NULL,
  CONSTRAINT stocks_pkey PRIMARY KEY (id)
)

Все остальное работает нормально, но это одна часть. Я использую PostgreSQL.


person Clarice Pereira    schedule 23.11.2016    source источник
comment
Вы указали в модели, какой у вас первичный ключ и поле отображения?   -  person yBrodsky    schedule 23.11.2016
comment
Я использовал запекание, поэтому для displayField и первичного ключа установлено значение id.   -  person Clarice Pereira    schedule 23.11.2016
comment
Но вы сказали, что если вы найдете список, результат будет пустым. Если это происходит, что-то не так.   -  person yBrodsky    schedule 23.11.2016
comment
Поместите образец возвращаемых данных. Также проверьте это: book.cakephp.org/3.0/en/orm/   -  person yBrodsky    schedule 23.11.2016
comment
Исправлена ​​проблема. Мне пришлось установить displayField на date_1. Спасибо большое за вашу помощь.   -  person Clarice Pereira    schedule 23.11.2016
comment
Большой. Удачи.   -  person yBrodsky    schedule 23.11.2016


Ответы (1)


Хотя ваша проблема была связана с displayField.

Чтобы выбрать один столбец или набор столбцов, вы можете сделать это следующим образом.

$date1 = $this->Stocks->find()
         ->select(['date_1'])
         ->where(['families_id' => $id]);
person Anuj TBE    schedule 31.12.2016