【问题标题】:cakePHP find() returns field name instead of just the column valuescakePHP find() 返回字段名称而不仅仅是列值
【发布时间】:2016-11-23 18:57:05
【问题描述】:

我正在尝试使用 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。

【问题讨论】:

  • 你是否在模型中指定了主键和显示字段是什么?
  • 我用的是bake,所以displayField和主键设置为id
  • 但是你说如果你找到“list”结果是空的。如果发生这种情况,那就有问题了。
  • 放一个样本返回的数据。另外,请检查:book.cakephp.org/3.0/en/orm/…
  • 修复了问题。我必须将displayField 设置为date_1。非常感谢您的帮助。

标签: postgresql cakephp cakephp-3.3


【解决方案1】:

虽然你的问题与displayField有关。

要选择单个列或一组列,您可以这样做

$date1 = $this->Stocks->find()
         ->select(['date_1'])
         ->where(['families_id' => $id]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2018-04-17
    • 2018-04-30
    • 2019-11-27
    • 2011-11-26
    相关资源
    最近更新 更多