我有两个表Company和Suppliers。Company ID是Suppliers表中的外键。假设我在创建供应商时在companys表中添加了一个Company,那么我还选择了Company Name。当我选择类似“Webdesignbestinclass”的Company时,CompanyID将保存在Suppliers表中。
当我管理供应商视图时,我也有CompanyID。实际上,我想在供应商管理视图上获取Company的名称,而不是CompanyID?
有人告诉我怎么才能拿到?

最佳答案

如果你需要一对一的关系
将“公司”模型中的关系定义为:

public function relations()
{
  'supplier' => array(self::HAS_ONE, 'Supplier', 'company_id'),
}

在“供应商”模型中:
public function relations()
{
  'company' => array(self::BELONGS_TO, 'Companies', 'supplier_id'),
}

我应该可以通过以下方式访问这些字段:
$someCompany->supplier->field_x
 and
$someSupplier->company->field_y

您可以在本文档中找到一些解释http://www.yiiframework.com/wiki/181/relations-belongs_to-versus-has_one/
要使用“供应商模型关系”功能中定义的公司关系从公司模型中获取“名称”字段,应使用
array( 'name' => 'CompanyID', 'value' => '$data->company->name', ),

($data是模型在实际网格行中的距离。)

10-07 22:08