BadMethodCallException:参数数量错误

BadMethodCallException: Wrong number of parameters

由于我是 Phalcon 框架的新手,我没有找到解决问题的方法。这是我尝试使用的查询:

    $withdraws = Withdrawals::query()
        ->columns('Withdrawals.cashboxId', 'Withdrawals.amount', 'Withdrawals.createdAt', 'Withdrawals.status', 'Withdrawals.serialNo', 'u.firstName', 'u.lastName')
        ->innerJoin('Shop\Domain\Clients\Models\Clients', 'Withdrawals.userId = u.id', 'u')
        ->where('Withdrawals.cashboxId = :cashboxId:', ['cashboxId' => $cashboxId])
        ->andWhere('Withdrawals.status = :status:', ['status' => 1])
        ->execute();

它给了我 BadMethodCallException: Wrong number of parameters。我在这里做错了什么?

->columns() 需要一个参数,一个字符串或数组。

试试这个

$withdraws = Withdrawals::query()
        ->columns(['Withdrawals.cashboxId', 'Withdrawals.amount', 'Withdrawals.createdAt', 'Withdrawals.status', 'Withdrawals.serialNo', 'u.firstName', 'u.lastName'])
        ->innerJoin('Shop\Domain\Clients\Models\Clients', 'Withdrawals.userId = u.id', 'u')
        ->where('Withdrawals.cashboxId = :cashboxId:', ['cashboxId' => $cashboxId])
        ->andWhere('Withdrawals.status = :status:', ['status' => 1])
        ->execute();

好吧,解决方案是我更改的:

->columns('Withdrawals.cashboxId', 'Withdrawals.amount', 'Withdrawals.createdAt', 'Withdrawals.status', 'Withdrawals.serialNo', 'u.firstName', 'u.lastName')

->columns('Shop\Domain\Withdrawals\Models\Withdrawals.cashboxId, 
Shop\Domain\Withdrawals\Models\Withdrawals.amount, 
Shop\Domain\Withdrawals\Models\Withdrawals.createdAt, 
Shop\Domain\Withdrawals\Models\Withdrawals.status, 
Shop\Domain\Withdrawals\Models\Withdrawals.serialNo, 
u.firstName, u.lastName')

它对我有用。除了接受单个参数的列外,我还必须为 Withdrawals 编写完整路径才能使其正常工作。