Skip to content

使用leftJoin时, Model的columnMap不工作 #12715

Closed
@sprufu

Description

@sprufu

Hi, 在使用php7.0 + phalcon3.0.4时model的属性为null, 以下是使用前提:

  1. model自定义了columnMap().
  2. 调用了QueryBuilder::leftJoin().
class User extend \Phalcon\Mvc\Model {
    public function columnMap() {
        return [
            'user_name' => 'name',
            'user_id' => 'uid'
        ];
    }
}

class UserTest extends \PHPUnit_Framework_TestCase {
    public function testGetNameReturnNullValue() {
        $query = $modelsManager->createBuilder()
            ->andFrom(Order::class, 'o')
            ->leftJoin(User::class, 'o.clientId=u.uid', 'u')
            //->addFrom(User::class, 'u')->andWhere('o.clientId=u.uid')
            ->columns('u.*')
            ->getQuery();
        $users = $query->execute();

        /** @var User $user */
        $user = $users[0];
        self::assertNotNull($user->getName());   // 断言失败, 但使用addFrom代替leftJoin时却成功
    }
}

Details

  • Phalcon version: (php --ri phalcon)
  • PHP Version: (php -v)
  • Operating System:
  • Installation type: Compiling from source || installing via package manager
  • Zephir version (if any):
  • Server: Nginx | Apache | Other
  • Other related info (Database, table schema):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions