WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [symfony] OMクラスから主キーのカラム名を取り出す。

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

symfonyにはデフォルトのO/Rマッパーとしてpropelが使用されていますが
一つの行を表すOMクラスとテーブルをあらわすPeerクラスがあります。
カラム名はPeerクラスから取り出します。
クラス名が動的に変わる場合
call_user_func
が便利です。


function get_primary_key($class_name)
{
$columns = call_user_func(array($class_name."Peer","getTableMap"))->getColumns();
$pk = array();
foreach($columns as $column)
{
if($column->isPrimaryKey()) $pk[] = $column->getColumnName();
}
return $pk;
}


[symfony 1.1.5]
スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。