Я использую Phalcon PHP с многомодульной структурой, и я хочу использовать магический метод получения для моего объекта, но метод получения равен null, когда я пытаюсь сделать 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");
}
}
Использование магического добытчика
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') );
}
}
Надеюсь, поможет
Других решений пока нет …