左联接具有多个条件Yii2错误

时间:2019-10-04 15:47:15

标签: yii2

根据该线程Yii2 - left join on multiple condition 我在Mfwpcontroller中创建sql函数,如下所示:

use Yii;
use app\models\Mfwp;
use app\models\User;
use app\models\MfwpSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii\web\Response;



    public function actionLists($id)    
    {           
    $posts = Mfwp::find()
    ->joinWith(['user' => function (ActiveQuery $query) {
        return $query
            ->andOnCondition(['=', 'user.id', 'mfwp.id_mfwp'])
            ->andWhere(['=', 'mfwp.id', $id]);
    }])        
    ->asArray()        
    ->all();
    Yii::$app->response->format = 'json';
    return $posts;


   }

这是我在MFWP中的模型

public function getMfwp()
{
    return $this->hasOne(User::className(), ['id' => 'id_mfwp']);
}

/**
 * @return \yii\db\ActiveQuery
 */
public function getSmWps()
{
    return $this->hasMany(SmWp::className(), ['id_sm_wp' => 'id']);
}

当我尝试通过访问http://bla-bla.oke/mfwp/lists?id=1执行时,显示错误

无效的参数– yii \ base \ InvalidArgumentException app \ models \ Mfwp没有名为“用户”的关系。 ↵ 原因:未知方法– yii \ base \ UnknownMethodException 调用未知方法:app \ models \ Mfwp :: getuser()

这是我的数据库结构https://imge.to/i/vE2nWC

所以我的代码有什么问题..谢谢您的建议

0 个答案:

没有答案
相关问题