如何在Yii中将变量从一个模型传递到另一个模型?

时间:2014-12-17 03:42:53

标签: php yii

我的代码位于名为Inventory的模型的Inventory.php视图中。这用于显示正在查看的当前ID:

<?php $inventoryID = $model->inventory_id; ?> <--- this one.

<h3>View Info for Inventory No. <?php echo $inventoryID; ?>: <?php echo $model->brand->brand; ?> <?php echo $model->model;?></h3>

我想在另一个名为InventoryHistory的模型中使用它,因为它将保存在InventoryHistory数据库中。我该怎么做?

3 个答案:

答案 0 :(得分:1)

你没有正确接近这个。在创建了数据库模式和模型并且甚至创建了视图之后,您不应该考虑“如何在另一个模型中使用相同的ID”!您应该在数据库级别定义这些关系,然后将它们映射到具有正确关系的模型。然后,您将拥有所需的一切,并且您将知道如何在其他模型中获取此ID。这是一个有用的链接,可以帮助您入门 - http://www.yiiframework.com/doc/guide/1.1/en/database.arr

答案 1 :(得分:0)

假设inventoryID是InventoryHistory的PK,

$inventoryID = $model->inventory_id;
$history = InventoryHistory::model()->findByPk($inventoryID);

答案 2 :(得分:0)

Samuel的方法是正确的,但如果你想在整个app中携带任何类型的变量,你可以使用setState和getState的全局变量,你也可以用hasState检查varable。 在Yii 1。 YII ::应用程序() - &GT;用户&GT;的setState(&#39;键&#39;&#39;值&#39); YII ::应用程序() - &GT;用户&GT;的getState(&#39;键&#39); 要取消设置: YII ::应用程序() - &GT;用户&GT;的setState(&#39;键&#39;,NULL);