Yii Framework数据库模型中的关系

时间:2013-07-10 13:08:46

标签: php relational-database yii

我正在Yii Framework做一个小型POS应用程序。我的数据库看起来像这样。 现在我已经完成了模型和crud的部分。但在这里,我对他们之间的建筑关系有点困惑。那么有人可以告诉我他们在模特中的关系是什么?任何帮助和建议都会非常明显。感谢..

====================
      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

2 个答案:

答案 0 :(得分:0)

Yii中存在不同类型的关系。 最常见的是:

  • 一对多
  • 一对一
  • 很多很多

据我所知,你只有一对多,也许是一对一的关系。 Yii中的模型是一个对象,它作为记录存储在数据库中。

在您的数据库中,您拥有表销售额。 这个表有一个商店ID,所以销售有一个商店,一个商店有很多销售,所以这是一对多的关系。

在Yii框架中,这表示如下:您的销售模型具有属性store_id,但它也与商店模型有关系,因为它具有此商店模型。因此,您可以按照以下方式访问销售模型中的商店模型:

$sale->store

从那里,您可以访问商店拥有的所有属性,例如名称和位置。

$sale->store->location

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

另一方面,商店有一系列销售模型。因此,如果您的商店模型有1个促销,则可以这样访问:

$store->sales[0]

如果您的商店有更多销售,您可以通过它们进行迭代:

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

我希望这会有所帮助。

答案 1 :(得分:0)

步骤1:在商店表格中,您可以添加其他字段(您可能需要将产品ID作为外键)。

步骤2:然后在商店表goto结构中选择外键点击索引,最后点击关系视图(在它提供的结构下),选择外键表名和id,输入“cascade”。

步骤3:然后再次重新生成模型,您将获得关系。