额外属性(.PhpStorm.meta.php)的PhpStorm元工厂建议

额外属性(.PhpStorm.meta.php)的PhpStorm元工厂建议,php,phpstorm,metadata,Php,Phpstorm,Metadata,我一直在尝试为factory属性设置.phpstorm.meta.php文件,但无法使其完全工作 -- -- -- 现在我想从classdbtable和classreturn $db = \modeler\Refund::fact()->dbTable(); $db->a(); // works without any special phpstorm.meta (it know that dbTable() returns DbTable class) // PR

我一直在尝试为factory属性设置.phpstorm.meta.php文件,但无法使其完全工作

--

--

--

现在我想从
classdbtable
classreturn

    $db = \modeler\Refund::fact()->dbTable();
    $db->a(); // works without any special phpstorm.meta (it know that dbTable() returns DbTable class)

// PROBLEM:
    $db->order_id = '...' // !! not works (not suggests order_id field) for phpstorm.meta like below: !!
--

--

其他信息:它适用于如下属性,但在本例中它将方法从DbTable中断开:(


这将不起作用:
\modeler\return::fact()->dbTable()
。您不能在元数据中使用动态实体,它必须是某个方法引用,如
MyInterface::dbTable()
    /**
    * @property int id
    * @property int order_id
    */
    namespace modeler\table;
    
    class Refund {
    
    protected $table = 'refund';
    protected $fields = ['id' => null, 'order_id' => null] // ...
// if there is normal property it also not works (but I want grab it from @property comment)
public $order_id;
    
    }
    $db = \modeler\Refund::fact()->dbTable();
    $db->a(); // works without any special phpstorm.meta (it know that dbTable() returns DbTable class)

// PROBLEM:
    $db->order_id = '...' // !! not works (not suggests order_id field) for phpstorm.meta like below: !!
namespace PHPSTORM_META
{
override(\modeler\Refund::fact()->dbTable(), map(['' => '\modeler\table\Refund', ]));
}
/** @var \modeler\table\Refund $db */
$db = \modeler\Refund::fact()->dbTable();