【发布时间】:2019-02-26 20:28:05
【问题描述】:
我正在开发一个 Silverstripe 4.3.1 项目,该项目有一个对象,其所有者成员通过 $has_one 附加:
class Object extends DataObject
{
private static $has_one = [
'Member' => Member::class,
];
我们希望将查看/编辑对象的能力限制为管理员和所有者成员。
这是我们使用的代码:
public function canView($member = null)
{
return Permission::check('ADMIN') or
$this->Member()->ID === Security::getCurrentUser()->ID or
$this->Member()->ID === $member->ID;
}
public function canEdit($member = null)
{
return Permission::check('ADMIN') or
$this->Member()->ID === Security::getCurrentUser()->ID or
$this->Member()->ID === $member->ID;
}
据我所知,这曾经可以正常工作,但最近的框架升级或代码更改已将其破坏。
我们目前收到以下 PHP 错误:
Trying to get property of non-object 在包含$this->Member()->ID 的行上
谁能指出正确的方向来解决这些错误?
【问题讨论】:
标签: php silverstripe silverstripe-4