私は1つのフィールド(age
)が別のフィールド(birthdate
)に依存することを意図したCaseBoxオブジェクトを持っています。開発者のドキュメントを理解するにあたり、タイプObjects
のage
を作成し、サーバー側の関数を記述し、プロパティのsource
要素をage
に設定して、関数とフィールドを渡す必要があります。同じ親オブジェクト内の別のフィールドに依存するCaseboxオブジェクトフィールド
age
フィールドのための私の設定:
{
"source": {
"requiredFields": "birthdate"
,"fn":"Casebox\\CoreBundle\\Service\\Util\\Utility.calculateAge"
}
,"readOnly": "true"
,"autoLoad": "true"
}
私は独立してcalculateAge()
を検証してきました。スカラー値を受け取り、必要に応じてDateTime
を作成し、年単位のdiff
を実行します。それでその部分は機能します。
ただし、age
は自動的に設定されません。 Browser.php
内部
[2016-11-02 17:57:18] request.INFO: Matched route "app_remote_router". {"route_parameters":{"_controller":"Casebox\RpcBundle\Controller\RpcApiController::routeAction","coreName":"demotwo","_route":"app_remote_router"},"request_uri":" http://192.168.33.3.xip.io/c/demotwo/remote/router "} []
[2016-11-02 17:57:18] security.DEBUG: Read existing security token from the session. {"key":"_security_main"} []
[2016-11-02 17:57:18] security.DEBUG: User was reloaded from a user provider. {"username":"root","provider":"Symfony\Bridge\Doctrine\Security\User\EntityUserProvider"} []
[2016-11-02 17:57:18] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalThrowableError: "Function name must be a string" at /var/www/casebox/vendor/caseboxdev/core-bundle/src/Service/Browser.php line 443 {"exception":"[object] (Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): Function name must be a string at /var/www/casebox/vendor/caseboxdev/core-bundle/src/Service/Browser.php:443)"} []
[2016-11-02 17:57:18] security.DEBUG: Stored the security token in the session. {"key":"_security_main"} []
、私は私が見つけることができるすべてのデータをログに記録:私はage
フィールドを入力したとき、私は、コアログファイルに次のエントリを取得します。問題の行(現在443)は、元のCaseBoxディストリビューションから修正されておらず、パラメータをターゲットに渡します。私が見つけたのは、すべてというパラメータを配列として渡すことです。
最終的には私の方法では配列を受け入れ、手動でbirthdate
とその値を見つける必要があると私は推測しています。