Phalcon模型关系选择

时间:2015-07-26 23:23:50

标签: php phalcon

我有两个模型:

Inv(发票)

InvItem(发票行项目)

尝试通过Inv模型检索InvItem时,出现500错误。屏幕或日志文件中未报告任何错误。参考https://docs.phalconphp.com/en/latest/reference/models.html#unidirectional-relationships

服务代码

$invoice = Inv::findFirst($id);
$item = $invoice->invItem;

Inv模型关系

Primary: inv_id
$this->hasMany('inv_id', 'InvItem', 'inv_id');

InvItem模型关系

Primary: inv_item_id
$this->belongsTo('inv_id', 'Inv', 'inv_id');

更新(已添加型号)

InvItem模型

class InvItem extends InvBaseModel
{

    /**
     *
     * @var integer
     */
    public $inv_item_id;

    /**
     *
     * @var integer
     */
    public $inv_id;

    /**
     *
     * @var string
     */
    public $item;

    /**
     *
     * @var string
     */
    public $desc;

    /**
     *
     * @var integer
     */
    public $quantity;

    /**
     *
     * @var double
     */
    public $rate;

    /**
     *
     * @var double
     */
    public $disc;

    /**
     * @var double
     */
    public $total;

    public function initialize()
    {
        $this->belongsTo('inv_id', 'Inv', 'inv_id');
    }
}

Inv Model

class Inv extends InvBaseModel
{
    /**
     *
     * @var integer
     */
    public $inv_id;

    /**
     *
     * @var integer
     */
    public $app_id;

    /**
     *
     * @var integer
     */
    public $acct_contact_id;

    /**
     *
     * @var integer
     */
    public $status;

    /**
     *
     * @var string
     */
    public $create_date;

    /**
     *
     * @var string
     */
    public $due_date;

    /**
     *
     * @var string
     */
    public $inv_date;

    /**
     *
     * @var string
     */
    public $sent_date;

    /**
     *
     * @var string
     */
    public $paid_date;


    public function initialize()
    {
        $this->hasMany('inv_id', 'InvItem', 'inv_id');
    }
}

1 个答案:

答案 0 :(得分:0)

我通过在关系模型中使用命名空间来解决这个问题。

public function initialize()
{
    $this->hasMany('inv_id', 'Multiple\Invoice\InvItem', 'inv_id');
}