ここは私のoptions array
です。ここで配列から動的にメソッドのパラメータを設定する(DoctrineのFindByメソッドを使用)
array(2) {
["status"] => string(1) "1"
["dateCreated"] => string(4) "DESC"
}
は私hardcoded doctrine findby code
です:
$posts = Pluto::registry('doctrine')
->getRepository(\Application\Entity\Post::class)
->findBy(
['status'=>1],
['dateCreated'=>'DESC']
);
私は何を探していることはfindBy基準(Nのcriterias)を設定する動的なソリューションです。
私はこのコードをどこかに持っています(私は実際に彼らが何をしているか知っていませんが、それについての情報があればそれを知っています)、それはオブジェクトを作成するために働いていました。それが返すような作業をdoesntの。あなたが実際には配列が、列のリストを渡すと、私は変換することができますどのよう
のcriteriasされていませんfindBy
メソッドにパラメータを渡すときに
$data = Pluto::registry('doctrine')
->getRepository($config->className)
->findBy(...array_values($newWhereClauses));
// or ->findBy(...$newWhereClauses);
を見ることができるようにfindByパラメータは動的にからあなたがメソッドへのパラメータのいくつかの(動的な量)を送信する必要がある場合は
を3個のドットです[可変長引数リスト](http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list)であり、PHP 5.6で導入されました。これは基本的に 'func_get_args()'の新しい、より短い(そしてもっと明確な)構文です。 –
@MagnusEriksson okこれは正しいパスですか? findByメソッドにoptions配列を動的に追加するにはどうすればいいですか? – jkushner
関数を呼び出すときは、 'public function myFunction(... $ hello)'のような関数定義でしか使用できません。関数に渡したすべての引数(どれだけ)を配列として '$ hello'変数に追加します。 –