我只是学习并使用Yii2而且我在LoanSearch模型中遇到了过滤问题。
我有3个表,客户,人员和贷款。
对于customerModel有关系:
public function getPerson()
{
return $this->hasOne(Person::className(), ['id' => 'person_id']);
}
对于LoanModel有关系:
public function getCustomer()
{
return $this->hasOne(Customer::className(), ['id' => 'customer_id']);
}
目的: 在贷款gridview中,我想在Customer表中使用人名进行过滤 包含Person的外键。
请帮助指导我。
感谢。
答案 0 :(得分:0)
首先,您要声明公共属性$ person和$ cutormer进行搜索,并在搜索模型上添加过滤器,例如:
->andFilterWhere(['like', 'person.name', $this->person])
->andFilterWhere(['like', 'customer.name', $this->customer]);
此外,您应该为此属性添加安全规则,例如:
[['person', 'customer'], 'safe'] on rules()
方法