gpt4 book ai didi

php - 在搜索模型 Yii2 中加入关系后获取未知的空属性

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:23 25 4
gpt4 key购买 nike

我加了

$query->joinWith('projectParticipants');

在搜索模型中但出现此错误:

Empty property

关系是正确的,如果我在 View 中有 var_dump,则返回数据。

也试过了

->leftJoin('project_participants', 'project_participants.user_id = user_cards.id')

但是同样的错误。 :(

对于相同的问题,在不同的关系下,在 Yii Debugger 中,所有查询都是正确的。

我哪里会出错?这个空属性是什么?

在模型关系中看起来:

public function getProjectParticipants()
{
return $this->hasMany(ProjectParticipants::className(), ['user_id' => 'id']);
}

已更新

public function search($params)
{

$query = UserCards::find();

$query->joinWith('projectParticipants');

$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => array('pageSize' => 45),
]);

$this->load($params);

if (!$this->validate()) {
// uncomment the following line if you do not want to any records when validation fails
// $query->where('0=1');
return $dataProvider;
}

$query->andFilterWhere([
'project_participants.proj_id' => $this->projects,
]);

$query->andFilterWhere(['ilike', 'name', $this->fullName ])->orFilterWhere(['like', 'surname', $this->fullName ]);


return $dataProvider;
}

最佳答案

问题出在主键上 - user_cards 模型是从没有 pk 的数据库 View 生成的。

所以解决方案是添加

public static function primaryKey(){
return array('id');
}

在模型中。

关于php - 在搜索模型 Yii2 中加入关系后获取未知的空属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30254238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com