小编Lo_*_*o_9的帖子

Yii2不唯一的表/别名:'user'

在"Ticket"模型中:

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


public function getSupervisor()
{
    return $this->hasOne(User::className(), ['id' => 'supervisor_id']);
Run Code Online (Sandbox Code Playgroud)

在"TicketSearch"模型中:

    $query->joinWith(['user','supervisor']);

    $query
        ->andFilterWhere(['like', 'user.surname', $this->user_id])
        ->andFilterWhere(['like', 'user.surname', $this->supervisor_id]
Run Code Online (Sandbox Code Playgroud)

如果我尝试搜索主管,请收到此错误:

Not unique table/alias: 'user'
The SQL being executed was: SELECT COUNT(*) FROM `ticket` LEFT JOIN `user` ON `ticket`.`user_id` = `user`.`id` LEFT JOIN `user` ON `ticket`.`supervisor_id` = `user`.`id` WHERE `user`.`surname` LIKE '%surname4%'
Run Code Online (Sandbox Code Playgroud)

我试图更改名称用户表:

    public function getSupervisor()
    {
        return $this->hasOne(User::className(), ['id' => 'supervisor_id'])
->from(User::tableName() . 'u2');
    }
Run Code Online (Sandbox Code Playgroud)

但是这个错误返回了:

You have an error …
Run Code Online (Sandbox Code Playgroud)

table-alias yii2

4
推荐指数
1
解决办法
6615
查看次数

标签 统计

table-alias ×1

yii2 ×1