我使用的是具有多模块结构的Phalcon PHP,我想在我的对象上使用一个神奇的getter,但当我尝试执行var_dump时,getter为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') );
}
}
希望它能帮助