锂关系名称空间错误?

我的文件夹/命名空间层次:锂关系名称空间错误?

  • 应用程序/模型/实体

    • Entities.php
      • People.php
      • (其他型号)

我跟着每这一问题的说明:lithium fill multiple models from view,却得到了一个错误“未能打开流:C中没有这样的文件或目录:\ XAMPP \ htdocs中\ PhiCRM \库\锂\核心\ Libraries.php在468" 线,这,是啊......曲子,你上面看到的,其嵌套在另一个文件夹,这是CONFIGS数组中指示,下面

我修复所示:我改变

public $belongsTo = array(

'People' => array(

'class' => '\app\models\entities\people\People',

'key' => 'person_id',

),

);

public $belongsTo = array(

'people\People' => array(

'class' => '\app\models\entities\people\People',

'key' => 'person_id',

),

);

现在错误消失(将第二行从'People'更改为'people \ People'),但现在出现错误:'Related model class'app \ models \ entities \ people \ people \ People ' 未找到。'在第159行的C:\ xampp \ htdocs \ PhiCRM \ libraries \ lithium \ data \ model \ Relationship.php中,所以现在它将其他人添加到路径字符串中。

我的问题:这是预期的行为?关系模型不应该使用我在$ configs数组中提供的类路径而不是使用类名字符串连接?如果它有缺陷,我应该报告它,以及如何?

回答:

public $belongsTo = array(

'People' => array(

'to' => '\app\models\entities\people\People',

'key' => 'person_id',

),

);

应工作更好 '到' 代替 '类' ;-)

回答:

在librarires /锂/数据/模型/ Relashionships.php,LN 115,原来的代码是:

if (!$config['to']) { 

$assoc = preg_replace("/\\w+$/", "", $config['from']) . $name;

$config['to'] = Libraries::locate('models', $assoc);

}

改为

if (!$config['to']) { 

if(!$config['class']){

$assoc = preg_replace("/\\w+$/", "", $config['from']) . $name;

}

else{

$assoc = $config['class'];

}

$config['to'] = Libraries::locate('models', $assoc);

}

似乎框架假设相关模型将在相同的命名空间。我改变了它,所以如果在模型中的关系声明中填写了类配置,它将使用它。

以上是 锂关系名称空间错误? 的全部内容, 来源链接: utcz.com/qa/265967.html

回到顶部