为什么我的 return 与 PHP Phalcon 的关系总是 null?
Why my relation ship return always null with PHP Phalcon?
我尝试将 relationShip ManyToMany 与 PHP Pahlcon 3.4
一起使用
我的模特:
use Phalcon\Mvc\Model;
class Societe extends Model
{
public $id;
public $nom;
public $adresse1;
public $adresse2;
public $code_postal;
public $ville;
public $pays;
public $siret;
public $numero_tva;
public $created_at;
public $updated_at;
public function initialize()
{
$this->setSource('societies');
$this->hasMany(
'id',
'Statement\Model\SocietesBanques',
'societe_id'
);
}
和银行:
use Phalcon\Mvc\Model;
class Banque extends Model
{
public $id;
public $nom;
public function initialize()
{
$this->setSource('banques');
$this->hasMany(
'id',
'Statement\Model\SocietesBanques',
'banque_id'
);
}
和关系:
use Phalcon\Mvc\Model;
class SocietesBanques extends Model
{
public $id;
public $societe_id;
public $banque_id;
public function initialize()
{
$this->setSource('societes_banques');
$this->belongsTo(
'societe_id',
'Statement\Model\Societe',
'id'
);
$this->belongsTo(
'banque_id',
'Statement\Model\Banque',
'id'
);
}
我可以在 table societes_banques 中保存,但无法获取数据
在我的控制器中,我得到了我的 Societe 对象:
$societe = Societe::findFirst($id);
之后,我尝试通过以下方式获取 SocietesBanques 数据:
$societe->societesBanques
这一行return我为NULL
如果我尝试:
$societe->getSocietesBanques()
我有错误:
The method 'getSocietesBanques' doesn't exist on model 'Statement\Model\Societe'
我做与 Phalcon 文档相同的事情
你能帮帮我吗?我有什么错?
因为你在关系声明时没有指定别名。
class Societe extends Model
{
public function initialize()
{
$this->setSource('societies');
$this->hasMany(
'id',
'Statement\Model\SocietesBanques',
'societe_id', [
'alias' => 'societesBanques', // 4th parameter as array
]
);
}
之后,你可以调用魔法方法getSocietesBanques()
。
我尝试将 relationShip ManyToMany 与 PHP Pahlcon 3.4
一起使用我的模特:
use Phalcon\Mvc\Model;
class Societe extends Model
{
public $id;
public $nom;
public $adresse1;
public $adresse2;
public $code_postal;
public $ville;
public $pays;
public $siret;
public $numero_tva;
public $created_at;
public $updated_at;
public function initialize()
{
$this->setSource('societies');
$this->hasMany(
'id',
'Statement\Model\SocietesBanques',
'societe_id'
);
}
和银行:
use Phalcon\Mvc\Model;
class Banque extends Model
{
public $id;
public $nom;
public function initialize()
{
$this->setSource('banques');
$this->hasMany(
'id',
'Statement\Model\SocietesBanques',
'banque_id'
);
}
和关系:
use Phalcon\Mvc\Model;
class SocietesBanques extends Model
{
public $id;
public $societe_id;
public $banque_id;
public function initialize()
{
$this->setSource('societes_banques');
$this->belongsTo(
'societe_id',
'Statement\Model\Societe',
'id'
);
$this->belongsTo(
'banque_id',
'Statement\Model\Banque',
'id'
);
}
我可以在 table societes_banques 中保存,但无法获取数据
在我的控制器中,我得到了我的 Societe 对象:
$societe = Societe::findFirst($id);
之后,我尝试通过以下方式获取 SocietesBanques 数据:
$societe->societesBanques
这一行return我为NULL
如果我尝试:
$societe->getSocietesBanques()
我有错误:
The method 'getSocietesBanques' doesn't exist on model 'Statement\Model\Societe'
我做与 Phalcon 文档相同的事情
你能帮帮我吗?我有什么错?
因为你在关系声明时没有指定别名。
class Societe extends Model
{
public function initialize()
{
$this->setSource('societies');
$this->hasMany(
'id',
'Statement\Model\SocietesBanques',
'societe_id', [
'alias' => 'societesBanques', // 4th parameter as array
]
);
}
之后,你可以调用魔法方法getSocietesBanques()
。