You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yii2 Search Model使用joinWith报错:无对应关联关系

解决方法

  1. 修复joinWith用法错误
    joinWith需要传入模型中定义的关联名称,而非数据库表名。在DormitoryFloorModel里你定义的关联方法是getDormitoryModel(),对应的关联名称是dormitoryModel(去掉get后首字母转小写),正确代码如下:
$query = DormitoryFloorModel::find();
$query->joinWith('dormitoryModel');

// 如需添加额外查询条件,可嵌套闭包:
// $query->joinWith(['dormitoryModel' => function($query) {
//     $query->where('status = 1');
// }]);
  1. PostgreSQL Schema配置优化
    如果已经在数据库连接中设置了defaultSchema,模型的tableName()无需手动添加schema前缀,直接返回表名即可。Yii会自动读取连接配置中的默认schema并拼接,无需修改模型表名定义,保持原来的return 'dormitory_floor_model';即可。

内容的提问来源于stack exchange,提问作者kAsper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 19:04:55