Phalcon 多模块通用模型魔术 getter 不工作
Phalcon Multi module common model magic getter not working
我正在使用具有多模块结构的 Phalcon PHP,我想在我的对象上使用魔法 getter,但是当我尝试这样做时 getter 为空var_dump.
代码段模型用户
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");
}
}
魔法getter利用率
public function addAction() {
$user = Users::findFirst(array(
"id = :id:",
"bind" => array('id' => 2)
));
city = $user->getCity(); // This is null
echo city->name;
}
你知道为什么这个魔法 getter $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') );
}
}
希望对您有所帮助
我正在使用具有多模块结构的 Phalcon PHP,我想在我的对象上使用魔法 getter,但是当我尝试这样做时 getter 为空var_dump.
代码段模型用户
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");
}
}
魔法getter利用率
public function addAction() {
$user = Users::findFirst(array(
"id = :id:",
"bind" => array('id' => 2)
));
city = $user->getCity(); // This is null
echo city->name;
}
你知道为什么这个魔法 getter $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') );
}
}
希望对您有所帮助