1

私の ORM - Paris と Idiorm - は、クライアント側から来る、コンストラクター関数に渡されるホワイトリスト パラメーターをサポートしていないようです。

$fruit = Model::factory('Fruit')->create($_POST);

ユーザーが色などの一部のパラメーターのみを選択できるようにして、価格などの他のパラメーターを選択できないようにしたい場合は、どうすればよいですか? $_POST何らかの方法でフィルタリングする必要があります。Idiorm/Paris のドキュメントやソースには何も見つかりません。

4

1 に答える 1

1

次のようなことができます。

$fruit = Model::factory('Fruit')->create(
    array_intersect_key($_POST, array('color' => 1,))
);

この関数array_intersect_keyは、キーが両方の配列に表示されるキーと値のペアを返し、値は最初の配列から取得されるため、最初に$_POST来る必要があります。

2 番目のパラメーターに新しいキー値を追加できます。これらのキーの値は何でもかまいません。

于 2014-08-21T17:18:01.183 に答える