今天我偶然发现了一个问题,我以前从来没有真正想过。我正在使用friendsofcake/crud插件,并尝试使用belongsto()关系更新实体,如下所示:
class UsersTable extends Table {
public function initilialize(array $config)
{
$this->belongsTo('Organisations')
...
有角度的客户打电话
GET /users/1
要检索以下数据:
$data = [
'id' = 1,
'username' => 'kylekatarn',
'organistion_id' => 1,
'organisation' => [
'id' => 1,
'label' => 'The Empire'
]
];
客户还有一份所有可用组织的列表
GET /organistaions
:
$organisations = [
[
'id' => 1,
'label' => 'The Empire'
],[
'id' => 2,
'label' => 'Rebel Alliance'
]
]
现在Kyle Katarn对叛军联盟的缺陷和叛军舰队司令部用户数据库的角客户端发送这样的数据给我
PUT /users/1
:
$data = [
'id' => 1,
'username' => 'kylekatarn',
'organisation_id' => 1,
'organisation' => [
'id' => 2,
'label' => 'Rebel Alliance'
]
];
我的意图是用户kylekatarn应该从
organisation_id = 1
在组织对象中找到的新组织。出于某种原因,我认为这应该是开箱即用的,但是orm为organization添加了一个新条目。
经过一番调查,我发现这个组织实体并没有将“id”设置为可访问。在我将“id”添加到可访问的实体成员列表中之后,一切正常。
现在我的问题是,如果这是处理这些问题的好方法?设置id为accessible有什么缺陷吗?或者最好用
user.organisation_id
依我看?
多谢!