我正在使用 Java 应用程序并将其移至 php。我在 Java 方面经验丰富,并在 ORM 解决方案中使用过 hibernate。我有一个现有的数据模型可以使用,并且正在 Yii 中实现它。
我需要帮助。
我有多对多的关系。
饮食 -> 饮食餐 <- 膳食 -> 餐食 <- 食物
连接表是:dietmeal mealfood
饮食可以有很多餐,餐可以属于多种饮食。一餐可以有很多食物,食物可以属于很多餐。
连接表具有我需要在视图中使用并更新的字段。例如:数量,unit_of_measure。如何一次获取所有这些字段,从而加载两个联结表主表?
在 Java Hibernate 中,这很容易。
我想用 yii 生成的 sql 如下,还让 yii 填充整个对象图,填充饮食 -> 饮食餐 <- 餐 -> 餐食 <- 食物
这是 Hibernate 的输出示例。它执行这个 sql 并填充对象图。
select distinct diet.*[columns] ,
dietmeal.*[columns],
meals.*[columns],
mealfood.*[columns],
foods.*[columns],
childfoods.*
from test_schema.diet diet
left outer join test_schema.diet_meal dietmeal on diet.id=dietmeal.diet_id
left outer join test_schema.meal meal on dietmeal.meal_id=meals.id
left outer join test_schema.meal_food mealfood on meals.id=mealfood3_.meal_id
left outer join test_schema.food foods on mealfood.food_id=foods.id
left outer join test_schema.food childfoods on foods.id=childfoods.parent_id
left outer join test_schema.schedulable schedulabl on diet.schedulable_id=schedulabl6_.ID
where diet.id=19
order by dietmeal.time asc,
meals.name desc,
foods.calories desc
我怎样才能在 yii 中做到这一点?如何设置它,这样我就可以执行这样的连接并填充整个对象图。
如何在 Yii 1.* 和 2.* 中做