实际上,我不确定这是否是我的代码或 intelephense 的问题。
在我的UsersTable
我有一个方法,给定 a user_id
,获取用户的数据(通过调用另一个方法)并重新找到。这是代码:
public function restoreBudget($userId)
{
$user = $this->findUserData($userId);
if ($user->subscription_plan->subscription_type == 'prepaid') {
$user->credit = $user->credit + $user->price;
$this->save($user);
}
}
public function findUserData($id)
{
$user = $this->find()
->contain(['SubscriptionPlans'])
->where([
'Users.id' => $id
])
->first();
return $user;
}
现在,一切似乎都正常工作,除了我的 IDE 强调了$user
in$this->save($user)
和 intelephense 指向这个错误:
Expected type 'Cake\Datasource\EntityInterface'. Found 'App\Model\Table\entity'.
这是为什么?难道我做错了什么?