【问题标题】:How to get attributes of columns from SQL query (PHP \ Phalcon \ PostgreSQL)如何从 SQL 查询中获取列的属性(PHP \ Phalcon \ PostgreSQL)
【发布时间】:2015-07-04 08:39:58
【问题描述】:

我有两张桌子:managerorder

一位经理有很多订单。

我如何从这样的查询中获取 SELECT 中的列类型

SELECT m.name, o.date, o.phone
FROM manager m
LEFT JOIN order o ON m.id = o.manager_id

【问题讨论】:

  • 如果你想从php获取这个,请看this
  • 谢谢,但是对于 pg_field_type() 我必须打开一个到 db 的新连接。我尝试这样做:$sql = "SELECT m.name, o.date, o.phone FROM manager m LEFT JOIN order o ON m.id = o.manager_id"; $tableData = $this->db->prepare($sql);var_dump($tableData->getColumnMeta(0)); 返回false

标签: php postgresql phalcon


【解决方案1】:

PostgreSQL 9.4

SELECT column_name , data_type ,character_maximum_length  FROM information_schema.columns WHERE table_schema = 'your_schema' AND table_name   = 'your_table';

【讨论】:

    【解决方案2】:

    您可以从 Phalcon 使用模型元数据。

    $manager = new Manager();
    $order = new Order();
    
    $metadata = $model->getModelsMetaData();
    
    var_dump($metadata->getDataTypes($manager));
    

    您将得到每个列名和类型为整数的数组。

    array (size=3)
      'col1' => int 0
      'col2' => int 2
      ...
      'coln' => int 2
    

    整数是来自\Phalcon\Db\ColumnTYPE_* 常量之一。

    【讨论】:

      猜你喜欢
      • 2014-11-29
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多