繁体   English   中英

Phalcon多模块通用模型魔术吸气剂不起作用

[英]Phalcon Multi module common model magic getter not working

我正在使用具有多模块结构的Phalcon PHP,并且想在对象上使用魔术吸气剂,但是在尝试执行var_dump时,该吸气剂为null。

摘要模型用户

namespace Apps\Common\Models;

use Phalcon\Mvc\Model;

class Users extends Model{

   public $id;

   public $city_id;

   public $name;

   ...

   public function initialize(){
       $this->belongsTo("city_id", "City", "id");
   }
}

摘要城市模型

namespace Apps\Common\Models;

use Phalcon\Mvc\Model;

class City extends Model{

   public $id;

   public $name;

   ...

   public function initialize(){
       $this->hasMany("id", "Users", "city_id");
   }
}

魔术吸气剂利用率

public function addAction() {

  $user = Users::findFirst(array(
    "id = :id:",
    "bind" => array('id' => 2)
  ));

  city = $user->getCity();  // This is null

  echo city->name;

}

你知道为什么这个神奇的吸气剂$user->getCity(); 不行吗?

谢谢。

我找到了解决方案。

我必须像这样在关系中定义名称空间和别名:

namespace Apps\Common\Models;

use Phalcon\Mvc\Model;

class Users extends Model{

   public $id;

   public $city_id;

   public $name;

   ...

   public function initialize(){
       $this->belongsTo("city_id", "Apps\Common\Models\City", "id", array('alias' => 'City') );
   }
}

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM