質問 > 管理機能 > テーブルのすべてのカラム名を取得したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2019/9/23 11:29
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
テーブルのすべてのカラム名を取得したい EC-CUBE 4.0.3
特定のテーブルの構造とデータをCSVに出力したいです。 テーブルのカラム名は、次のようなコードで取得できたのですが、pref_id などのKeyのカラム名を取得することができません。
Keyを含めたカラム名を取得するにはどうすればよいでしょうか? カラム名ではなくEntityのフィールド名の取得でもかまいません。 |
nanasess |
投稿日時: 2019/9/23 19:41
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2303 |
Re: テーブルのすべてのカラム名を取得したい こんな感じでいかがでしょう?
https://www.doctrine-project.org/projects/doctrine-dbal/en/2.8/reference/schema-manager.html#listtablecolumns |
h_tanaka |
投稿日時: 2019/9/24 8:41
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: テーブルのすべてのカラム名を取得したい nanasess さん
自力で次のようにコーディングしてFKのカラム名は取得することができたのですが、カラム名の順番がテーブル構造どおりにならなくて行き詰まってました。。
ありがとうございます! うまくカラム名を取得することができました。
その後、取得したカラム名に対応するデータを取得しようとしたのですが、エラーになってしまいました。
[Semantical Error] line 0, col 14 near 'creator_id,t.product_status_id,t.name,t.note,t.description_list,t.description_detail,t.search_word,t.free_area,t.create_date,t.update_date,t.discriminator_type': Error: Class Eccube\Entity\Product has no field or association named creator_id 調べてみたところ、FKのカラムには IDENTITY を指定すればいいみたいですが、カラム名のうちどれがFKか判定できません。 Entity 経由ではなくデータベースから直接テーブルデータを取得することはできるでしょうか?
|
h_tanaka |
投稿日時: 2019/9/24 9:01
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: テーブルのすべてのカラム名を取得したい 上記、自己解決しました。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |