0

http://docs.phalconphp.com/en/0.6.0/reference/phql.html

使用例

PHQL がどのように機能するかをよりよく説明するには、次の例を検討してください。「車」と「ブランド」の 2 つのモデルがあります。

<?php
    class Cars extends Phalcon\Mvc\Model
    {
        public $id;

        public $name;

        public $brand_id;

        public $price;

        public $year;

        public $style;

        /**
        * This model is mapped to the table sample_cars
        */
        public function getSource()
        {
            return 'sample_cars';
        }

        /**
         * A car only has a Brand, but a Brand have many Cars
         */
        public function initialize()
        {
            $this->belongsTo('brand_id', 'Brands', 'id');
        }
    }

すべての車にはブランドがあるため、ブランドには多くの車があります。

<?php
    class Brands extends Phalcon\Mvc\Model
    {
        public $id;

        public $name;

        /**
         * The model Brands is mapped to the "sample_brands" table
         */
        public function getSource()
        {
            return 'sample_brands';
        }

        /**
         * A Brand can have many Cars
         */
        public function initialize()
        {
            $this->hasMany('id', 'Brands', 'brand_id'); // here
        }
    }
4

1 に答える 1

1

あなたは正しいです。関係はありませんでしhasManyた。修正例は以下CarsBrands

http://docs.phalconphp.com/en/latest/reference/phql.html

<?php

class Cars extends Phalcon\Mvc\Model
{
    public $id;

    public $name;

    public $brand_id;

    public $price;

    public $year;

    public $style;

   /**
    * This model is mapped to the table sample_cars
    */
    public function getSource()
    {
        return 'sample_cars';
    }

    /**
     * A car only has a Brand, but a Brand have many Cars
     */
    public function initialize()
    {
        $this->belongsTo('brand_id', 'Brands', 'id');
    }
}

すべての車にはブランドがあるため、ブランドには多くの車があります。

<?php

class Brands extends Phalcon\Mvc\Model
{

    public $id;

    public $name;

    /**
     * The model Brands is mapped to the "sample_brands" table
     */
    public function getSource()
    {
        return 'sample_brands';
    }

    /**
     * A Brand can have many Cars
     */
    public function initialize()
    {
        $this->hasMany('id', 'Cars', 'brand_id');
    }
}
于 2012-11-05T12:52:14.703 に答える