2015-09-07 59 views
0

我第一次使用Yii2框架,试图在一个项目中实现它。从控制器中的相关表中提取值

我有客户在这里我想也显示客户的公司旁边的客户姓名的下拉列表。

客户和公司表是相关的。下面是它看起来像在客户模式:

public function getCompany() 
{ 
    return $this->hasOne(Company::className(), ['id' => 'company_id']); 
} 

所以我现在要形成一个包含客户姓名,电子邮件,电话和公司名称的下拉列表。姓名,电子邮件和电话属于一张桌子,所以将它们拉在一起没有问题。以下是它在Customer模型中的样子:

public function getfullInfo() 
    { 
      return $this->name.' '.$this->phone.' '.$this->email; 
    } 

我不太了解这个框架的逻辑。我如何在上面的代码中提取公司名称?

谢谢你们。

+0

添加“$这个 - >公司 - >名称”给出了一个错误“试图获得非对象的属性” – Marat

+0

尝试使用关系名。可能有帮助。 –

+0

我认为'$ this-> company-> name'的问题是有时存在'$ this-> company'(是一个对象),有时它不会,在这种情况下'hasOne()'返回'false '。 – Beowulfenator

回答

0

下面是正确的代码:

public function getfullInfo() 
    { 
      return $this->name.' '.$this->phone.' '.$this->email.' '.$this->company['name']; 
    } 

这是那么容易,我已经浪费了太多时间在这。

相关问题