2013-07-10 116 views
0

我正在做一個小型的POS應用程序Yii Framework。我有我的數據庫看起來像這樣。 現在我已經完成了模型和粗糙的部分。但是我在這裏與他們之間的建築關係有點混淆。那麼有人可以告訴我模型中它們之間的關係是什麼?任何幫助和建議都將非常可觀。謝謝..Yii框架數據庫關係模型

==================== 
     mspl_sales 
==================== 
id 
product_id 
store_id 
discount_id 
agent_id 
date 
price 
discount_percentage 


=================== 
mspl_requistitation 
=================== 
id 
store_id 
product_id 
agent_id 
date 
requisition_number 
procure_quantity 
balance_store_stock 
priority 



================== 
    mspl_product 
================== 
id 
product_name 
cost_price 
selling_price 



================== 
    mspl_store 
================= 
id 
store_name 
store_location 



================== 
    mspl_discount 
================== 
id 
discount_type 


================= 
mspl_agent 
=============== 
id 
user_name 
email_id 
agent_code 
authorization_password 
+0

如果你在mysql中設置外鍵,那麼運行Gii會自動爲你創建它們FYI。你在問如何建立一種關係或你的關係是什麼? – Pitchinnate

回答

0

Yii有不同類型的關係。 最常見的是:

  • 一對多
  • 一對一
  • 多對多

至於我能看到你只能有一個很多,也許視圖之一一個關係。 Yii中的模型是一個對象,它作爲記錄存儲在數據庫中。

在你的數據庫中你有銷售表。 這個表有一個商店ID,所以一個商店有一個商店,一個商店有很多的銷售,所以這是一對多的關係。

在Yii框架中,這表示如下:您的銷售模型具有store_id屬性,但它也與商店模型有關係 - 因爲它具有此商店模型。這樣你就可以訪問存儲模型形成的銷售模式如下:

$sale->store

從那裏,你可以訪問所有的商店具有的屬性,就像它的名稱和位置。

$sale->store->location

$store = $sale->store; 
$store->location 

在另一方面甲商店具有的銷售模式的陣列。所以如果你的小店模型有1個銷售,這將是accesable這樣的:

$store->sales[0]

如果你的店有更多的銷售,你可以遍歷它們:

foreach($store->sales as $sale){ 
    $sale->id = 0; 
    $sale->save(); 
    //your logic here 
} 

我希望這有助於。

0

步驟1:在商店表中,您可以添加另一個字段(您可能需要產品ID作爲外鍵)。

第二步:然後在store表中goto結構中選擇外鍵點擊索引,最後點擊關係視圖(在它提供的結構下),選擇外鍵表名和id,類型爲「cascade」。

第3步:然後再次重新生成模型,你會得到關係。