为什么我的 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()