我正在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
答案 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:然后再次重新生成模型,您将获得关系。