私は最近、多くの複合主キー (および関連する外部キーの友人 XD) を持つデータベースに唖然としました。Yii Framework を使用してアプリケーションを開発しています。必要なすべてのモデルと crud を作成しましたが、複合 pk を渡して自動 URL を作成する際に問題があることがわかりました。
--- view ---
// this generate a php warning
Yii::app()->createUrl('controller/dosomething', array('id' => $model->primaryKey));
--- controller --
public function actionDoSomething(array $id) { ... }
createUrl は内部で urlencode を使用し、2 番目のパラメーターは配列であってはならないと主張しているため、このソリューションは警告を生成します。もちろん、PHP 警告を無効にすると、$model->primaryKey がスカラーではなく配列を返す場合でも問題なく動作します。しかし、私はその問題に対する「クリーンな」解決策が欲しい!!! 何か案は?単一の文字列で動作するようにパラメーターをシリアル化/逆シリアル化または暗号化/復号化することを考えていましたが、正直なところ、それが最良の選択だとは思いません。