Ve çok-Çok Doktrini 2 ekstra bir alan ile masa bağlantısı
(Tutarsız benim sorum için kusura bakmayın: bazı sorular bu yazı yazıyordum, ama burada:) cevap vermeye çalıştım
Ayrıca bağlantı başına bir değeri olan bir bağlantı tablo içinde çok-çok ilişki, ama bir veritabanı modeli, bu durumda stok tutma bir tablo oluşturmak için çalışıyorum. (bende daha fazla sorun için temel bir örnektir, ama sadece devam ediyorum, daha önce bu ile test edin) dedim.
exportmwb Bu basit örneğin iki Varlık Mağaza ve Ürün üretmek için kullandım, her ikisi de aşağıda görüntülenir.
Ancak sorun şimdi stok erişmek için nasıl anlamaya olamaz.miktar değer (negatif olarak int imzalı) Doktrini kullanarak. Tablolar Doktrini orm kullanarak oluşturmaya çalışırken de,: şema aracı:işlev oluşturun
Bu vermiştir, yalnızca iki taraf ve üç tablo, bir tablo bağlantı olmadan değerleri ve iki veri tabloları, çok-çok ilişkiler değil mi kuruluşlar kendilerini tek bir Ürün ve Mağaza olarak bir varlık.
Bu yüzden, mantıken, veritabanı modelim ayrı bir tablo olarak stok var değişen mağaza ve ürün ilişkileri ile çalıştım. Ben de kullanılır sadece sorun kaynağı olarak o hariç edebilmek için yeniden yazdı:
Buldum ben hala Stok bir varlık... ve kendisi yoktu veritabanı alamadım ne 'miktar alanı'. sonra
Gerçekten bir seçenek kendisi değil ürün üzerindeki bu mağaza ve ürünler birlikte hisse senedi tablo (diğer şeyler arasında)... bu yüzden sadece stok ekleme bağlamak edebilmek için gerekli.
root@hdev:/var/www/test/library# php doctrine.php orm:info
Found 2 mapped entities:
[OK] Entity\Product
[OK] Entity\Store
Ve veritabanı oluşturduğumda, bu beni hala stok tablo alanlar vermez:
Yani, bazı şeyler ararken burada, çok-çok bağlantı varlıkları ve bu nedenle değerleri olmadığını öğrendim. İlişkileri ile ayrı bir tablo olarak değiştirmeyi Diğerleri denedim, ama yine de işe yaramadı.
Burada yanlış ne yapıyorum?
CEVAP
Bir çok-Çok ilişki ile ek değerler değil bir çok-Çok, ama gerçekten yeni bir varlık, o zaman şimdi bir tanımlayıcı (iki ilişkiler bağlı kuruluşlar) ve değerleri.
Bu da çok-Çok dernek çok nadir nedeni budur: onları, sorting
, amount
, vb gibi ek özellikler saklamak eğilimindedir.
Muhtemelen ne gerek (her ikisi de çift yönlü ilişkiler, en az bir tanesi, tek yönlü yapmayı düşünün) yaptım aşağıdaki gibi bir şey:
Ürün:
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Table(name="product") @ORM\Entity() */
class Product
{
/** @ORM\Id() @ORM\Column(type="integer") */
protected $id;
/** ORM\Column(name="product_name", type="string", length=50, nullable=false) */
protected $name;
/** @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="product") */
protected $stockProducts;
}
Mağaza:
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Table(name="store") @ORM\Entity() */
class Store
{
/** @ORM\Id() @ORM\Column(type="integer") */
protected $id;
/** ORM\Column(name="store_name", type="string", length=50, nullable=false) */
protected $name;
/** @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="store") */
protected $stockProducts;
}
Stok:
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Table(name="stock") @ORM\Entity() */
class Stock
{
/** ORM\Column(type="integer") */
protected $amount;
/**
* @ORM\Id()
* @ORM\ManyToOne(targetEntity="Entity\Store", inversedBy="stockProducts")
* @ORM\JoinColumn(name="store_id", referencedColumnName="id", nullable=false)
*/
protected $store;
/**
* @ORM\Id()
* @ORM\ManyToOne(targetEntity="Entity\Product", inversedBy="stockProducts")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id", nullable=false)
*/
protected $product;
}
Protokol,alan adı ve URL bağlantı nokt...
Korumalı alan nedir?...
Android adb "sync bağlantısı Açıl...
Tablo kilitleme olmadan MASA DEĞİŞTİRM...
Kullanarak alan adları etrafında backt...