Yii2 Search Model使用joinWith报错:无对应关联关系
解决方法
- 修复
joinWith用法错误joinWith需要传入模型中定义的关联名称,而非数据库表名。在DormitoryFloorModel里你定义的关联方法是getDormitoryModel(),对应的关联名称是dormitoryModel(去掉get后首字母转小写),正确代码如下:
$query = DormitoryFloorModel::find(); $query->joinWith('dormitoryModel'); // 如需添加额外查询条件,可嵌套闭包: // $query->joinWith(['dormitoryModel' => function($query) { // $query->where('status = 1'); // }]);
- PostgreSQL Schema配置优化
如果已经在数据库连接中设置了defaultSchema,模型的tableName()无需手动添加schema前缀,直接返回表名即可。Yii会自动读取连接配置中的默认schema并拼接,无需修改模型表名定义,保持原来的return 'dormitory_floor_model';即可。
内容的提问来源于stack exchange,提问作者kAsper
相关产品推荐
相关产品推荐

